diff options
Diffstat (limited to 'src/badge_ipc.c')
-rwxr-xr-x | src/badge_ipc.c | 124 |
1 files changed, 3 insertions, 121 deletions
diff --git a/src/badge_ipc.c b/src/badge_ipc.c index d4e954c..f572efd 100755 --- a/src/badge_ipc.c +++ b/src/badge_ipc.c @@ -27,7 +27,7 @@ #include "badge_error.h" #include "badge_internal.h" #include "badge_ipc.h" -#include "badge_setting.h" + #define PROVIDER_BUS_NAME "org.tizen.data_provider_service" #define PROVIDER_OBJECT_PATH "/org/tizen/data_provider_service" @@ -388,6 +388,7 @@ static int _send_sync_badge(GVariant *body, GDBusMessage **reply, char *cmd) } DBG("_send_sync_badge done !!"); return BADGE_ERROR_NONE; + } static int _send_service_register(uid_t uid) @@ -400,6 +401,7 @@ static int _send_service_register(uid_t uid) if (reply) g_object_unref(reply); + badge_changed_cb_call(BADGE_ACTION_SERVICE_READY, NULL, 0, uid); DBG("_send_service_register dones"); return result; } @@ -747,123 +749,3 @@ int badge_ipc_request_get_display(const char *pkgname, unsigned int *is_display, DBG("badge_ipc_request_get_display done [result: %d]", result); return result; } - -int badge_ipc_request_update_setting(badge_setting_h setting, uid_t uid) -{ - int ret; - GDBusMessage *reply = NULL; - GVariant *body = NULL; - - ret = _dbus_init(); - if (ret != BADGE_ERROR_NONE) { - ERR("Can't init dbus %d", ret); - return ret; - } - - body = g_variant_new("(ssii)", - setting->pkgname, - setting->appid, - (int)(setting->allow_to_display), - uid); - - ret = _send_sync_badge(body, &reply, "update_badge_setting"); - if (ret != BADGE_ERROR_NONE) - ERR("Failed badge update setting"); - - if (reply) - g_object_unref(reply); - - return ret; -} - -int badge_ipc_request_get_setting_by_appid(badge_setting_h *setting, const char *appid, uid_t uid) -{ - int ret; - GDBusMessage *reply = NULL; - GVariant *body = NULL; - GVariant *reply_body = NULL; - GVariant *setting_body = NULL; - badge_setting_h result_setting; - - ret = _dbus_init(); - if (ret != BADGE_ERROR_NONE) { - ERR("Can't init dbus %d", ret); - return ret; - } - - body = g_variant_new("(si)", appid, uid); - - ret = _send_sync_badge(body, &reply, "get_setting_by_appid"); - if (ret == BADGE_ERROR_NONE) { - reply_body = g_dbus_message_get_body(reply); - g_variant_get(reply_body, "(v)", &setting_body); - - result_setting = (struct badge_setting *)malloc(sizeof(struct badge_setting)); - if (result_setting == NULL) { - ERR("Failed memory allocation."); - g_object_unref(reply); - return BADGE_ERROR_OUT_OF_MEMORY; - } - badge_ipc_make_setting_from_gvariant(result_setting, setting_body); - *setting = result_setting; - g_variant_unref(setting_body); - } - - if (reply) - g_object_ref(reply); - - return ret; -} - -EXPORT_API int badge_ipc_make_setting_from_gvariant(badge_setting_h setting, GVariant *variant) -{ - char *pkgname; - char *appid; - int allow_to_display; - - if (setting == NULL || variant == NULL) { - DBG("Invalid Parameter"); - return BADGE_ERROR_INVALID_PARAMETER; - } - - g_variant_get(variant, "(&s&si)", &pkgname, &appid, &allow_to_display); - - setting->pkgname = strdup(pkgname); - setting->appid = strdup(appid); - setting->allow_to_display = allow_to_display; - - return BADGE_ERROR_NONE; -} - -EXPORT_API GVariant *badge_ipc_make_gvariant_from_setting(badge_setting_h setting) -{ - GVariant *body = NULL; - - body = g_variant_new("(ssi)", - setting->pkgname, - setting->appid, - setting->allow_to_display); - - return body; -} - -int badge_ipc_init_badge(uid_t uid) -{ - int ret; - GDBusMessage *reply = NULL; - GVariant *body; - - body = g_variant_new("(i)", uid); - if (!body) { - ERR("Cannot create gvariant."); - return BADGE_ERROR_OUT_OF_MEMORY; - } - - ret = _send_sync_badge(body, &reply, "init_badge"); - - if (reply) - g_object_unref(reply); - - DBG("badge_ipc_init_badge done[result:%d]", ret); - return ret; -} |