summaryrefslogtreecommitdiffstats
path: root/src/qlibhomescreen.cpp
diff options
context:
space:
mode:
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2019-05-20 11:25:48 +0800
committerwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2019-05-20 11:25:48 +0800
commit98ed7f2f0897dc8d706bb43e3e2daf2a4d61f9fe (patch)
treecab814567f5a1f0d1e9385d0b60d53189dc7503f /src/qlibhomescreen.cpp
parent2cb3de1f0029741e50d2fdf842c8da0a4f3fc52b (diff)
change for new seq
Change-Id: I05aba3e7b22e5edb2f8026f09aa77a35cdec3c8c
Diffstat (limited to 'src/qlibhomescreen.cpp')
-rw-r--r--src/qlibhomescreen.cpp53
1 files changed, 52 insertions, 1 deletions
diff --git a/src/qlibhomescreen.cpp b/src/qlibhomescreen.cpp
index b530055..e76a6d8 100644
--- a/src/qlibhomescreen.cpp
+++ b/src/qlibhomescreen.cpp
@@ -43,7 +43,8 @@ static QLibHomeScreen* myThis;
*/
QLibHomeScreen::QLibHomeScreen(QObject *parent) :
QObject(parent),
- mp_hs(NULL)
+ mp_hs(NULL),
+ mp_window(NULL)
{
HMI_DEBUG("qlibhomescreen", "called.");
}
@@ -328,4 +329,54 @@ void QLibHomeScreen::showNotification(QString icon, QString text)
void QLibHomeScreen::getRunnables(void)
{
mp_hs->getRunnables();
+}
+
+/**
+ * publlish subscription to homescreen-service
+ *
+ * #### Parameters
+ * - Nothing
+ *
+ * #### Resturn
+ * - None.
+ *
+ */
+void QLibHomeScreen::slotPublishSubscription(void) {
+ HMI_NOTICE("qlibhomescreen","slotPublishSubscription");
+ if(mp_hs != NULL) {
+ mp_hs->publishSubscription();
+ QObject::disconnect(m_loading);
+ }
+}
+
+/**
+ * This function register callback function for reply/event message from home screen
+ *
+ * #### Parameters
+ * - event_cb [in] : This argument should be specified to the callback for subscribed event
+ * - reply_cb [in] : This argument should be specified to the reply callback for call function
+ *
+ * #### Return
+ * Nothing
+ *
+ * #### Note
+ * Event callback is invoked by home screen for event you subscribed.
+ * If you would like to get event, please call subscribe function before/after this function
+ */
+void QLibHomeScreen::registerCallback(
+ void (*event_cb)(const std::string& event, struct json_object* event_contents),
+ void (*reply_cb)(struct json_object* reply_contents),
+ void (*hangup_cb)(void))
+{
+ if(mp_hs != NULL)
+ mp_hs->registerCallback(event_cb, reply_cb, hangup_cb);
+}
+
+void QLibHomeScreen::setQuickWindow(QQuickWindow *qw)
+{
+ mp_window = qw;
+ if(mp_window != NULL) {
+ HMI_NOTICE("qlibhomescreen", "connect frameSwapped signal.");
+ m_loading = QObject::connect(mp_window, SIGNAL(frameSwapped()), this, SLOT(slotPublishSubscription()));
+ }
} \ No newline at end of file