Revert "Update ground state in table while updating data usage."
[platform/core/connectivity/stc-manager.git] / src / stc-manager-gdbus.c
index 8352d6d..aee4c9e 100755 (executable)
@@ -18,7 +18,8 @@
 #include "stc-statistics.h"
 #include "stc-restriction.h"
 #include "stc-default-connection.h"
-#include "stc-application-lifecycle.h"
+#include "stc-manager-plugin.h"
+#include "stc-app-lifecycle.h"
 
 static gboolean __stc_manager_gdbus_statistics_init(stc_s *stc)
 {
@@ -45,6 +46,10 @@ static gboolean __stc_manager_gdbus_statistics_init(stc_s *stc)
 
        /* Register for method callbacks as signal callbacks */
 
+       g_signal_connect(statistics, "handle-init",
+                        G_CALLBACK(handle_statistics_init),
+                        stc);
+
        g_signal_connect(statistics, "handle-get",
                         G_CALLBACK(handle_statistics_get),
                         stc);
@@ -109,8 +114,8 @@ static gboolean __stc_manager_gdbus_restriction_init(stc_s *stc)
                         G_CALLBACK(handle_restriction_get_state),
                         stc);
 
-       g_signal_connect(restriction, "handle-remove",
-                        G_CALLBACK(handle_restriction_remove), stc);
+       g_signal_connect(restriction, "handle-unset",
+                        G_CALLBACK(handle_restriction_unset), stc);
 
        /* Export the object (@manager takes its own reference to @object) */
        g_dbus_object_manager_server_export(stc->obj_mgr,
@@ -149,8 +154,8 @@ static void __stc_manager_gdbus_on_bus_acquired(GDBusConnection *connection,
        g_dbus_object_manager_server_set_connection(stc->obj_mgr,
                                                    stc->connection);
 
-       stc_application_lifecycle_monitor_init(stc);
        stc_default_connection_monitor_init(stc);
+       stc_register_state_changed_cb(stc, stc_manager_app_status_changed, NULL);
 
        __STC_LOG_FUNC_EXIT__;
 }
@@ -190,9 +195,12 @@ void stc_manager_gdbus_deinit(gpointer stc_data)
 {
        __STC_LOG_FUNC_ENTER__;
        stc_s *stc = (stc_s *)stc_data;
-       stc_application_lifecycle_monitor_deinit(stc);
+
+       stc_deregister_state_changed_cb(stc);
        stc_default_connection_monitor_deinit(stc);
+
        g_bus_unown_name(stc->gdbus_owner_id);
+
        stc->statistics_obj = NULL;
        stc->restriction_obj = NULL;
        __STC_LOG_FUNC_EXIT__;
@@ -298,3 +306,38 @@ void stc_manager_gdbus_dict_foreach(GVariantIter *iter, dbus_dict_cb cb,
 
        __STC_LOG_FUNC_EXIT__;
 }
+
+gboolean stc_manager_dbus_emit_signal(GDBusConnection *connection,
+                                     const gchar *object_path,
+                                     const gchar *interface_name,
+                                     const gchar *signal_name,
+                                     GVariant *parameters)
+{
+       gboolean rv = FALSE;
+       GError *error = NULL;
+
+       if (connection == NULL) {
+               STC_LOGE("GDBusconnection is NULL");
+               return 0;
+       }
+
+       DEBUG_GDBUS_VARIANT("Signal params: ", parameters);
+
+       rv = g_dbus_connection_emit_signal(connection,
+                                          NULL,
+                                          object_path,
+                                          interface_name,
+                                          signal_name,
+                                          parameters,
+                                          &error);
+       if (rv != TRUE) {
+               STC_LOGE("Failed to emit signal [%s] interface [%s] Error [%s]",
+                        signal_name, interface_name, error->message);
+               g_error_free(error);
+       } else {
+               STC_LOGD("[%s] signal sent on [%s] interface", signal_name,
+                        interface_name);
+       }
+
+       return rv;
+}