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);
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)
" <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>"
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)
{