Add function to remove shortcut 15/89415/2 accepted/tizen/common/20160927.152801 accepted/tizen/ivi/20160929.001615 accepted/tizen/mobile/20160929.001457 accepted/tizen/tv/20160929.001639 accepted/tizen/wearable/20160929.001549 submit/tizen/20160926.050109 submit/tizen/20160927.073302
authorjusung son <jusung07.son@samsung.com>
Fri, 23 Sep 2016 10:53:03 +0000 (19:53 +0900)
committerjusung son <jusung07.son@samsung.com>
Mon, 26 Sep 2016 01:15:47 +0000 (10:15 +0900)
Change-Id: I48322220bd39994adbb23b840f1d3f930235dc74
Signed-off-by: jusung son <jusung07.son@samsung.com>
include/shortcut_service.h
src/shortcut_service.c

index d031dea..fd9c6f4 100755 (executable)
@@ -21,6 +21,7 @@ extern int shortcut_service_fini(void);
 
 int shortcut_add(GVariant *parameters, GVariant **reply_body, GList *monitoring_list, uid_t uid);
 int shortcut_add_widget(GVariant *parameters, GVariant **reply_body, GList *monitoring_list, uid_t uid);
+int shortcut_remove(GVariant *parameters, GVariant **reply_body, GList *monitoring_list, uid_t uid);
 int shortcut_register_dbus_interface();
 int shortcut_get_shortcut_service_list(GVariant *parameters, GVariant **reply_body, uid_t uid);
 int shortcut_check_privilege(void);
index 59394e9..a02b609 100755 (executable)
@@ -65,6 +65,8 @@ static void _shortcut_dbus_method_call_handler(GDBusConnection *conn,
                ret = shortcut_add(parameters, &reply_body, monitoring_list, uid);
        else if (g_strcmp0(method_name, "add_shortcut_widget") == 0)
                ret = shortcut_add_widget(parameters, &reply_body, monitoring_list, uid);
+       else if (g_strcmp0(method_name, "remove_shortcut") == 0)
+               ret = shortcut_remove(parameters, &reply_body, monitoring_list, uid);
        else if (g_strcmp0(method_name, "get_list") == 0)
                ret = shortcut_get_shortcut_service_list(parameters, &reply_body, uid);
        else if (g_strcmp0(method_name, "check_privilege") == 0)
@@ -126,6 +128,12 @@ int shortcut_register_dbus_interface()
                        "          <arg type='i' name='allow_duplicate' direction='in'/>"
                        "        </method>"
 
+                       "        <method name='remove_shortcut'>"
+                       "          <arg type='i' name='pid' direction='in'/>"
+                       "          <arg type='s' name='appid' direction='in'/>"
+                       "          <arg type='s' name='name' direction='in'/>"
+                       "        </method>"
+
                        "        <method name='check_privilege'>"
                        "        </method>"
                        "  </interface>"
@@ -237,6 +245,26 @@ int shortcut_add_widget(GVariant *parameters, GVariant **reply_body, GList *moni
        return ret;
 }
 
+/* remove_shortcut */
+int shortcut_remove(GVariant *parameters, GVariant **reply_body, GList *monitoring_list, uid_t uid)
+{
+       int ret = SERVICE_COMMON_ERROR_NONE;
+
+       ret = send_notify(parameters, "remove_shortcut_notify", monitoring_list, PROVIDER_SHORTCUT_INTERFACE_NAME);
+       if (ret != SERVICE_COMMON_ERROR_NONE) {
+               ErrPrint("failed to send notify:%d\n", ret);
+               return ret;
+       }
+
+       *reply_body = g_variant_new("()");
+       if (*reply_body == NULL) {
+               ErrPrint("Cannot make reply body");
+               return SHORTCUT_ERROR_OUT_OF_MEMORY;
+       }
+
+       return ret;
+}
+
 /*  check shortcut privilege */
 int shortcut_check_privilege(void)
 {