add new features in homescreen-service and homescreen
[src/libqthomescreen.git] / src / qlibhomescreen.cpp
index aded770..f769469 100644 (file)
@@ -178,5 +178,134 @@ void QLibHomeScreen::set_event_handler(enum QEventType et, handler_fun f)
 void QLibHomeScreen::tapShortcut(QString application_id)
 {
     HMI_DEBUG("qlibhomescreen","tapShortcut %s", application_id.toStdString().c_str());
-    this->mp_hs->tapShortcut(application_id.toStdString().c_str());
-}
\ No newline at end of file
+    mp_hs->showWindow(application_id.toStdString().c_str(), nullptr);
+}
+
+/**
+ * show application by application id
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - json  : json parameters
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::showWindow(QString application_id, json_object* json)
+{
+    mp_hs->showWindow(application_id.toStdString().c_str(), json);
+}
+
+/**
+ * show application by application id, json string
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - json  : json parameters
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::showWindow(QString application_id, QString json)
+{
+    if(json.isNull())
+        mp_hs->showWindow(application_id.toStdString().c_str(), nullptr);
+    else
+        mp_hs->showWindow(application_id.toStdString().c_str(), json_tokener_parse(json.toStdString().c_str()));
+}
+
+/**
+ * hide application by application id
+ *
+ * #### Parameters
+ * - application_id  : application id
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::hideWindow(QString application_id)
+{
+    mp_hs->hideWindow(application_id.toStdString().c_str());
+}
+
+/**
+ * send onscreen or software keyboard message to application
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - json  : json parameters
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::replyShowWindow(QString application_id, json_object* json)
+{
+    mp_hs->replyShowWindow(application_id.toStdString().c_str(), json);
+}
+
+/**
+ * send onscreen or software keyboard message to application
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - json  : json parameters
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::replyShowWindow(QString application_id, QString json)
+{
+    if(json.isNull())
+        mp_hs->replyShowWindow(application_id.toStdString().c_str(), nullptr);
+    else
+        mp_hs->replyShowWindow(application_id.toStdString().c_str(), json_tokener_parse(json.toStdString().c_str()));
+}
+
+/**
+ * show information
+ *
+ * use libhomescreen api to push information to menubarApp
+ *
+ * #### Parameters
+ * - params : json parameters
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::showInformation(QString info)
+{
+       struct json_object* j_obj = json_object_new_object();
+       struct json_object* val = json_object_new_string(info.toStdString().c_str());
+       json_object_object_add(j_obj, "info", val);
+
+    mp_hs->showInformation(j_obj);
+}
+
+/**
+ * show notification
+ *
+ * use libhomescreen api to push notification to menubarApp
+ *
+ * #### Parameters
+ * - params : json parameters
+ *
+ * #### Resturn
+ * - None.
+ *
+ */
+void QLibHomeScreen::showNotification(QString icon, QString text)
+{
+       struct json_object* j_obj = json_object_new_object();
+       struct json_object* val_icon = json_object_new_string(icon.toStdString().c_str());
+       struct json_object* val_text = json_object_new_string(text.toStdString().c_str());
+       json_object_object_add(j_obj, "icon", val_icon);
+       json_object_object_add(j_obj, "text", val_text);
+
+    mp_hs->showNotification(j_obj);
+}