adding cynara init & deinit 64/214164/1
authorAbhishek Vijay <abhishek.v@samsung.com>
Wed, 18 Sep 2019 12:12:40 +0000 (17:42 +0530)
committerAbhishek Vijay <abhishek.v@samsung.com>
Wed, 18 Sep 2019 12:12:40 +0000 (17:42 +0530)
Change-Id: I5ec84994db7006684f3af7787f8c56005482e139
Signed-off-by: Abhishek Vijay <abhishek.v@samsung.com>
include/bm_util.h
src/bm_server.c
src/bm_util.c

index 114de87..7a5c04d 100644 (file)
@@ -39,6 +39,10 @@ GQuark bm_error_quark(void);
 
 int bm_check_privilege_battery(GDBusMethodInvocation *invocation);
 
+int initialize_cynara(void);
+
+void deinitialize_cynara(void);
+
 int bm_calc_individual_consumption(int resource_val, int total_consumption);
 
 GVariant* bm_marshal_serialized_data(const bm_total_consumption_h data);
index 42f9b09..6b97dc8 100644 (file)
@@ -379,6 +379,13 @@ static void bm_server_initialize()
                goto END;
        }
 
+       /* cynara initialization */
+       return_code = initialize_cynara();
+       if (return_code != BATTERY_MONITOR_ERROR_NONE) {
+               _ERR("cyanara initialization failed");
+               goto END;
+       }
+
        /* plugin-manager initialization */
        return_code = initialize_plugin_manager();
        if (return_code != BATTERY_MONITOR_ERROR_NONE) {
@@ -398,7 +405,7 @@ static void bm_server_initialize()
        EXIT;
        return;
 END:
-       _ERR("error occurred, exiting daemon");
+       _ERR("ERROR, EXITING DAEMON");
        exit(1);
        return;
 }
@@ -410,6 +417,9 @@ static void bm_server_deinitialize()
        /* database de-initialization */
        deinitialize_database();
 
+       /* cynara de-initialization */
+       deinitialize_cynara();
+
        /* plugin-manager de-initialization */
        deinitialize_plugin_manager();
 
index ef64f70..5011b09 100644 (file)
@@ -201,6 +201,37 @@ int bm_check_privilege_battery(GDBusMethodInvocation *invocation)
        return bm_check_privilege(invocation, BATTERY_MONITOR_PRIVILEGE);
 }
 
+int initialize_cynara(void)
+{
+       ENTER;
+
+       _INFO("initializing cyanara for battery-monitor");
+
+       int ret_val = CYNARA_API_SUCCESS;
+
+       ret_val = cynara_initialize(&p_cynara, NULL);
+
+       BM_RETURN_VAL((ret_val == CYNARA_API_SUCCESS), {}, \
+               BATTERY_MONITOR_ERROR_NOT_INITIALIZED, "cynara initialization failure");
+
+       ret_val = BATTERY_MONITOR_ERROR_NONE;
+
+       EXIT;
+       return ret_val;
+}
+
+void deinitialize_cynara(void)
+{
+       ENTER;
+
+       _INFO("de-initializing cyanara");
+
+       cynara_finish(p_cynara);
+
+       EXIT;
+       return;
+}
+
 int bm_calc_individual_consumption(int resource_val, int total_consumption)
 {
        _DBG("resource consumption - [%d], total consumption - [%d]", \