diff options
author | Jiwoong Im <jiwoong.im@samsung.com> | 2016-07-07 22:44:25 +0900 |
---|---|---|
committer | Jiwoong Im <jiwoong.im@samsung.com> | 2016-07-08 09:58:36 +0900 |
commit | f3fda7e3334651f25814cf284b6846dc469fc626 (patch) | |
tree | 84a7fabb6f952b9caa7c0a961d7774a2dc4975f4 | |
parent | 9de0d16a83bf3772a08cac8b361c9a9d9be32906 (diff) | |
download | alarm-manager-f3fda7e3334651f25814cf284b6846dc469fc626.tar.gz alarm-manager-f3fda7e3334651f25814cf284b6846dc469fc626.tar.bz2 alarm-manager-f3fda7e3334651f25814cf284b6846dc469fc626.zip |
modify alarm-server dbus initializing stepsubmit/tizen/20160708.042127accepted/tizen/wearable/20160708.091808accepted/tizen/tv/20160708.091920accepted/tizen/mobile/20160708.091826accepted/tizen/ivi/20160708.092004accepted/tizen/common/20160708.140755
- replace step to get connection by g_bus_get_sync
modify some incorrectly used function
Change-Id: Ibcae5a1a341a25d9e2b5541834189baad4ac689d
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
-rw-r--r-- | alarm-manager.c | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/alarm-manager.c b/alarm-manager.c index 39d71a9..859c1e4 100644 --- a/alarm-manager.c +++ b/alarm-manager.c @@ -1531,7 +1531,7 @@ static void __alarm_expired() } } else { g_variant_get(result, "(b)", &name_has_owner_reply); - g_object_unref(result); + g_variant_unref(result); } if (g_quark_to_string(__alarm_info->quark_dst_service_name) != NULL && strncmp(g_quark_to_string(__alarm_info->quark_dst_service_name), "null", 4) == 0) { @@ -2672,7 +2672,7 @@ gboolean alarm_manager_alarm_update(AlarmManager *pObj, GDBusMethodInvocation *i pid = __get_caller_pid(name); if (uid < 0 || pid < 0) { return_code = ERR_ALARM_SYSTEM_FAIL; - g_dbus_method_invocation_return_value(invoc, g_variant_new("(ii)", alarm_id, return_code)); + g_dbus_method_invocation_return_value(invoc, g_variant_new("(i)", return_code)); return true; } @@ -3308,14 +3308,27 @@ void on_bus_name_owner_changed(GDBusConnection *connection, } } -static void on_bus_acquired(GDBusConnection *connection, const gchar *name, gpointer user_data) +static bool __initialize_dbus() { - ALARM_MGR_LOG_PRINT("on_bus_acquired"); + GDBusConnection *connection = NULL; + GError *error = NULL; + guint subsc_id; + ALARM_MGR_LOG_PRINT("__initialize_dbus Enter"); + + connection = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error); + if (connection == NULL) { + ALARM_MGR_EXCEPTION_PRINT("g_bus_get_sync() is failed"); + if (error) { + ALARM_MGR_EXCEPTION_PRINT("dbus error message : %s", error->message); + g_error_free(error); + } + return false; + } interface = alarm_manager_skeleton_new(); if (interface == NULL) { ALARM_MGR_EXCEPTION_PRINT("Creating a skeleton object is failed."); - return; + return false; } g_signal_connect(interface, "handle_alarm_create", G_CALLBACK(alarm_manager_alarm_create), NULL); @@ -3337,46 +3350,39 @@ static void on_bus_acquired(GDBusConnection *connection, const gchar *name, gpoi g_signal_connect(interface, "handle_alarm_set_global", G_CALLBACK(alarm_manager_alarm_set_global), NULL); g_signal_connect(interface, "handle_alarm_get_global", G_CALLBACK(alarm_manager_alarm_get_global), NULL); - guint subsc_id = g_dbus_connection_signal_subscribe(connection, "org.freedesktop.DBus", "org.freedesktop.DBus", - "NameOwnerChanged", "/org/freedesktop/DBus", NULL, G_DBUS_SIGNAL_FLAGS_NONE, - on_bus_name_owner_changed, NULL, NULL); + subsc_id = g_dbus_connection_signal_subscribe(connection, + "org.freedesktop.DBus", "org.freedesktop.DBus", + "NameOwnerChanged", "/org/freedesktop/DBus", NULL, + G_DBUS_SIGNAL_FLAGS_NONE, on_bus_name_owner_changed, NULL, NULL); if (subsc_id == 0) { ALARM_MGR_EXCEPTION_PRINT("Subscribing to signal for invoking callback is failed."); g_object_unref(interface); interface = NULL; - return; + return false; } if (!g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(interface), connection, ALARM_MGR_DBUS_PATH, NULL)) { ALARM_MGR_EXCEPTION_PRINT("Exporting the interface is failed."); g_object_unref(interface); interface = NULL; - return; - } - - alarm_context.connection = connection; - g_dbus_object_manager_server_set_connection(alarmmgr_server, alarm_context.connection); -} - -static bool __initialize_dbus() -{ - ALARM_MGR_LOG_PRINT("__initialize_dbus Enter"); - - alarmmgr_server = g_dbus_object_manager_server_new(ALARM_MGR_DBUS_PATH); - if (alarmmgr_server == NULL) { - ALARM_MGR_EXCEPTION_PRINT("Creating a new server object is failed."); return false; } - guint owner_id = g_bus_own_name(G_BUS_TYPE_SYSTEM, ALARM_MGR_DBUS_NAME, - G_BUS_NAME_OWNER_FLAGS_NONE, on_bus_acquired, NULL, NULL, NULL, NULL); + g_dbus_object_manager_server_set_connection(alarmmgr_server, connection); + + guint owner_id = g_bus_own_name_on_connection(connection, + ALARM_MGR_DBUS_NAME, G_BUS_NAME_OWNER_FLAGS_NONE, + NULL, NULL, NULL, NULL); if (owner_id == 0) { ALARM_MGR_EXCEPTION_PRINT("Acquiring the own name is failed."); + g_object_unref(interface); g_object_unref(alarmmgr_server); return false; } + alarm_context.connection = connection; + return true; } |