X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Fhomescreenvoice.h;fp=homescreen%2Fsrc%2Fhomescreenvoice.h;h=6a4f7e5fd3559a1b0173c6b34e2d514e9b4bee5e;hb=e3767af1a9d44abe2ea88ba85ff004cbdaefc21c;hp=0000000000000000000000000000000000000000;hpb=f266dcd35564ea649ed1435a3ab7a3abbef900d9;p=apps%2Fhomescreen.git diff --git a/homescreen/src/homescreenvoice.h b/homescreen/src/homescreenvoice.h new file mode 100644 index 0000000..6a4f7e5 --- /dev/null +++ b/homescreen/src/homescreenvoice.h @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HOMESCREENVOICE_H +#define HOMESCREENVOICE_H + +#include +#include +#include +#include +#include +#include +extern "C" +{ +#include +#include +} + +using namespace std; + +class HomescreenVoice : public QObject +{ + Q_OBJECT +public: + explicit HomescreenVoice(QObject *parent = 0); + ~HomescreenVoice(); + static const std::vector state_lists; + + int init(int port, const string& token); + void on_hangup(void *closure, struct afb_wsj1 *wsj); + void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg); + void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg); + void on_reply(void *closure, struct afb_wsj1_msg *msg); + Q_INVOKABLE int startListening(void); +signals: + void statusChanged(bool status); + +private: + int initialize_websocket(void); + int subscribe(const string event_name); + + struct afb_wsj1* sp_websock; + struct afb_wsj1_itf minterface; + sd_event* mploop; + std::string muri; + int mport = 2000; + std::string mtoken = "hs"; + +}; + +#endif // HOMESCREENVOICE_H