fix issue,not free string
[apps/agl-service-homescreen.git] / src / hs-helper.cpp
index 452ae24..d0f5713 100644 (file)
@@ -23,11 +23,27 @@ const char* evlist[] = {
     "tap_shortcut",
     "on_screen_message",
     "on_screen_reply",
+    "showWindow",
+    "hideWindow",
+    "replyShowWindow",
+    "showNotification",
+    "showInformation",
     "reserved"
   };
 
-
-REQ_ERROR get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id)
+/**
+ * get uint16 value from source
+ *
+ * #### Parameters
+ * - request : Describes the request by bindings from afb-daemon
+ * - source  : input source
+ * - out_id  : output uint16 value
+ *
+ * #### Return
+ * error code
+ *
+ */
+REQ_ERROR get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id)
 {
     char* endptr;
     const char* tmp = afb_req_value (request, source);
@@ -51,7 +67,19 @@ REQ_ERROR get_value_uint16(const struct afb_req request, const char *source, uin
     return REQ_OK;
 }
 
-REQ_ERROR get_value_int16(const struct afb_req request, const char *source, int16_t *out_id)
+/**
+ * get int16 value from source
+ *
+ * #### Parameters
+ * - request : Describes the request by bindings from afb-daemon
+ * - source  : input source
+ * - out_id  : output int16 value
+ *
+ * #### Return
+ * error code
+ *
+ */
+REQ_ERROR get_value_int16(const afb_req_t request, const char *source, int16_t *out_id)
 {
     char* endptr;
     const char* tmp = afb_req_value (request, source);
@@ -75,7 +103,19 @@ REQ_ERROR get_value_int16(const struct afb_req request, const char *source, int1
     return REQ_OK;
 }
 
-REQ_ERROR get_value_int32(const struct afb_req request, const char *source, int32_t *out_id)
+/**
+ * get int32 value from source
+ *
+ * #### Parameters
+ * - request : Describes the request by bindings from afb-daemon
+ * - source  : input source
+ * - out_id  : output int32 value
+ *
+ * #### Return
+ * error code
+ *
+ */
+REQ_ERROR get_value_int32(const afb_req_t request, const char *source, int32_t *out_id)
 {
     char* endptr;
     const char* tmp = afb_req_value (request, source);
@@ -99,6 +139,18 @@ REQ_ERROR get_value_int32(const struct afb_req request, const char *source, int3
     return REQ_OK;
 }
 
+/**
+ * add int object to json object
+ *
+ * #### Parameters
+ * - j_obj : the json object will join in int json object
+ * - count : input parameter number
+ * - ...   : parameter list
+ *
+ * #### Return
+ * None
+ *
+ */
 void hs_add_object_to_json_object(struct json_object* j_obj, int count,...)
 {
     va_list args;
@@ -113,6 +165,18 @@ void hs_add_object_to_json_object(struct json_object* j_obj, int count,...)
     va_end(args);
 }
 
+/**
+ * add string object to json object
+ *
+ * #### Parameters
+ * - j_obj : the json object will join in string json object
+ * - count : input parameter number
+ * - ...   : parameter list
+ *
+ * #### Return
+ * None
+ *
+ */
 void hs_add_object_to_json_object_str(struct json_object* j_obj, int count,...)
 {
     va_list args;
@@ -127,7 +191,19 @@ void hs_add_object_to_json_object_str(struct json_object* j_obj, int count,...)
     va_end(args);
 }
 
-
+/**
+ * add new json object to json object
+ *
+ * #### Parameters
+ * - j_obj : the json object will join in new json object
+ * - verb_name : new json object's verb value
+ * - count : input parameter number
+ * - ...   : parameter list
+ *
+ * #### Return
+ * None
+ *
+ */
 void hs_add_object_to_json_object_func(struct json_object* j_obj, const char* verb_name, int count, ...)
 {
     va_list args;
@@ -145,6 +221,16 @@ void hs_add_object_to_json_object_func(struct json_object* j_obj, const char* ve
     va_end(args);
 }
 
+/**
+ * search event position in event list
+ *
+ * #### Parameters
+ * - value : searched event name
+ *
+ * #### Return
+ * event's index in event list
+ *
+ */
 int hs_search_event_name_index(const char* value)
 {
     size_t buf_size = 50;
@@ -160,3 +246,28 @@ int hs_search_event_name_index(const char* value)
     }
     return ret;
 }
+
+/**
+ * get application id from request
+ *
+ * #### Parameters
+ * - request : the request
+ *
+ * #### Return
+ * got application id
+ *
+ */
+std::string get_application_id(const afb_req_t request)
+{
+    std::string appid;
+    char *app_id = afb_req_get_application_id(request);
+    if(app_id == nullptr) {
+        appid = std::string("");
+    }
+    else {
+        appid = std::string(app_id);
+        free(app_id);
+    }
+
+    return appid;
+}