fix issue and modify function parameter name
[src/libqthomescreen.git] / src / qlibhomescreen.cpp
index cfeb9c1..c67d408 100644 (file)
@@ -169,7 +169,7 @@ void QLibHomeScreen::set_event_handler(enum QEventType et, handler_fun f)
  * tapShortcut function
  *
  * #### Parameters
- * - application_name : tapped application name
+ * - application_id : tapped application id
   *
  * #### Return
  * - None.
@@ -178,5 +178,139 @@ 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 and display area
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - area  : display area liked {"area":"normal"}
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::showWindow(QString application_id, json_object* area)
+{
+    mp_hs->showWindow(application_id.toStdString().c_str(), area);
+}
+
+/**
+ * show application by application id and display area
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - area  : display area liked "normal"
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::showWindow(QString application_id, QString area)
+{
+    if(area.isNull()) {
+        mp_hs->showWindow(application_id.toStdString().c_str(), nullptr);
+    } else {
+        struct json_object *j_obj = json_object_new_object();
+        struct json_object *value = json_object_new_string(area.toStdString().c_str());
+        json_object_object_add(j_obj, "area", value);
+        mp_hs->showWindow(application_id.toStdString().c_str(), j_obj);
+    }
+}
+
+/**
+ * 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 reply to application
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - reply  : the reply contents
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::replyShowWindow(QString application_id, json_object* reply)
+{
+    mp_hs->replyShowWindow(application_id.toStdString().c_str(), reply);
+}
+
+/**
+ * send onscreen reply to application
+ *
+ * #### Parameters
+ * - application_id  : application id
+ * - reply  : the reply contents which can convert to json
+ *
+ * #### Return
+ * - None.
+ *
+ */
+void QLibHomeScreen::replyShowWindow(QString application_id, QString reply)
+{
+    if(reply.isNull())
+        mp_hs->replyShowWindow(application_id.toStdString().c_str(), nullptr);
+    else
+        mp_hs->replyShowWindow(application_id.toStdString().c_str(), json_tokener_parse(reply.toStdString().c_str()));
+}
+
+/**
+ * show information
+ *
+ * push information to HomeScreen
+ *
+ * #### Parameters
+ * - info : information that want to show
+ *
+ * #### 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
+ *
+ * push notification to HomeScreen
+ *
+ * #### Parameters
+ * - icon : provided icon
+ * - text : text that want to show
+ *
+ * #### 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);
+}