2 * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include "qlibhomescreen.h"
18 #include <QJsonDocument>
19 #include <QJsonObject>
22 #define _POPUPREPLY "on_screen_reply"
23 #define _REQ_POPUP_MESSAGE "on_screen_message"
24 #define _TAPSHORTCUT "tap_shortcut"
25 #define _KEY_DATA "data"
26 #define _KEY_APPLICATION_DATA "application_name"
27 #define _KEY_REPLY_MESSAGE "reply_message"
28 #define _KEY_REQUEST_MESSAGE "display_message"
30 static QLibHomeScreen* myThis;
32 // Note: qlibhomescreen will be integrated to libqtappfw
34 * QLibHomeScreen construction function
37 * - parent [in] : object parent.
43 QLibHomeScreen::QLibHomeScreen(QObject *parent) :
51 * QLibHomeScreen destruction function
60 QLibHomeScreen::~QLibHomeScreen()
70 * call libhomescreen init function to connect to binder by websocket
73 * - prot : port from application
74 * - token : token from application
80 void QLibHomeScreen::init(int port, const QString &token)
82 string ctoken = token.toStdString();
83 mp_hs = new LibHomeScreen();
84 mp_hs->init(port, ctoken.c_str());
91 * call on screen message
93 * use libhomescreen api to call onscreen message
96 * - message : message contents
99 * - Returns 0 on success or -1 in case of error.
102 int QLibHomeScreen::onScreenMessage(const QString &message)
104 string str = message.toStdString();
105 return mp_hs->onScreenMessage(str.c_str());
111 * use libhomescreen api to subscribe homescreen event
114 * - evetNave : homescreen event name
117 * - Returns 0 on success or -1 in case of error.
120 int QLibHomeScreen::subscribe(const QString &evetName)
122 string str = evetName.toStdString();
123 return mp_hs->subscribe(str);
129 * use libhomescreen api to unsubscribe homescreen event
132 * - evetNave : homescreen event name
135 * - Returns 0 on success or -1 in case of error.
138 int QLibHomeScreen::unsubscribe(const QString &evetName)
140 string str = evetName.toStdString();
141 return mp_hs->unsubscribe(str);
145 * set homescreen event handler function
148 * - et : homescreen event name
149 * - f : event handler function
155 void QLibHomeScreen::set_event_handler(enum QEventType et, handler_fun f)
157 LibHomeScreen::EventType hs_et = (LibHomeScreen::EventType)et;
158 return this->mp_hs->set_event_handler(hs_et, std::move(f));