set destination in alarm_expired signal 59/66459/4 accepted/tizen/common/20160425.144813 accepted/tizen/ivi/20160423.060634 accepted/tizen/mobile/20160423.055725 accepted/tizen/tv/20160423.060120 accepted/tizen/wearable/20160423.060401 submit/tizen/20160422.142435
authorJiwoong Im <jiwoong.im@samsung.com>
Tue, 19 Apr 2016 04:54:25 +0000 (13:54 +0900)
committerJiwoong Im <jiwoong.im@samsung.com>
Fri, 22 Apr 2016 08:54:25 +0000 (17:54 +0900)
Change-Id: I12f2bc4681dd7093ed229cdc149aaebc0703e091
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
alarm-manager.c
src/alarm-lib.c

index 43edc3a..46a5246 100644 (file)
@@ -1149,7 +1149,7 @@ static void __alarm_send_noti_to_application(const char *app_service_name, alarm
        SECURE_LOGI("[alarm server][send expired_alarm(alarm_id=%d) to app_service_name(%s)]", alarm_id, service_name);
 
        ret = g_dbus_connection_emit_signal(alarm_context.connection,
-                       NULL,
+                       service_name,
                        "/org/tizen/alarm/manager",
                        "org.tizen.alarm.manager",
                        "alarm_expired",
@@ -1399,14 +1399,14 @@ static void __alarm_expired()
                        char appid[MAX_SERVICE_NAME_LEN] = { 0, };
                        pkgmgrinfo_appinfo_h appinfo_handle = NULL;
 
-                       if (strncmp(g_quark_to_string(__alarm_info->quark_dst_service_name), "null", 4) == 0) {
+                       if (g_quark_to_string(__alarm_info->quark_bundle) != NULL && strncmp(g_quark_to_string(__alarm_info->quark_dst_service_name), "null", 4) == 0) {
                                SECURE_LOGD("[alarm-server]:destination is null, so we send expired alarm to %s(%u).",
                                                g_quark_to_string(__alarm_info->quark_app_service_name), __alarm_info->quark_app_service_name);
-                               destination_app_service_name = g_quark_to_string(__alarm_info->quark_app_service_name);
+                               destination_app_service_name = g_quark_to_string(__alarm_info->quark_app_service_name_mod);
                        } else {
                                SECURE_LOGD("[alarm-server]:destination :%s(%u)",
                                                g_quark_to_string(__alarm_info->quark_dst_service_name), __alarm_info->quark_dst_service_name);
-                               destination_app_service_name = g_quark_to_string(__alarm_info->quark_dst_service_name);
+                               destination_app_service_name = g_quark_to_string(__alarm_info->quark_dst_service_name_mod);
                        }
 
                        /*
index 29cfaec..a1e65ff 100644 (file)
@@ -351,8 +351,11 @@ EXPORT_API int alarmmgr_init(const char *appid)
 {
        SECURE_LOGD("Enter");
        char service_name[MAX_SERVICE_NAME_LEN] = { 0 };
+       char service_name_mod[MAX_SERVICE_NAME_LEN] = { 0 };
        int ret;
        int len = 0;
+       int i = 0;
+       int j = 0;
 
        if (appid == NULL)
                return ERR_ALARM_INVALID_PARAM;
@@ -382,11 +385,23 @@ EXPORT_API int alarmmgr_init(const char *appid)
                        NULL,
                        NULL);
 
+       memset(service_name_mod, 'a', MAX_SERVICE_NAME_LEN - 1);
+
        len = strlen("ALARM.");
        strncpy(service_name, "ALARM.", len);
        strncpy(service_name + len, appid, strlen(appid));
 
+       for (i = 0; i <= strlen(service_name); i++) {
+               if (service_name[i] == '.') {
+                       service_name_mod[j] = service_name[i];
+                       j++;
+               } else {
+                       service_name_mod[j] = service_name[i];
+               }
+               j++;
+       }
        alarm_context.quark_app_service_name = g_quark_from_string(service_name);
+       alarm_context.quark_app_service_name_mod = g_quark_from_string(service_name_mod);
 
        b_initialized = true;