From 2c69447c22eb7cd9d80efb1389dfdb22ea05a03c Mon Sep 17 00:00:00 2001 From: Abhishek Vijay Date: Wed, 18 Sep 2019 17:42:40 +0530 Subject: [PATCH] adding cynara init & deinit Change-Id: I5ec84994db7006684f3af7787f8c56005482e139 Signed-off-by: Abhishek Vijay --- include/bm_util.h | 4 ++++ src/bm_server.c | 12 +++++++++++- src/bm_util.c | 31 +++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/include/bm_util.h b/include/bm_util.h index 114de87..7a5c04d 100644 --- a/include/bm_util.h +++ b/include/bm_util.h @@ -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); diff --git a/src/bm_server.c b/src/bm_server.c index 42f9b09..6b97dc8 100644 --- a/src/bm_server.c +++ b/src/bm_server.c @@ -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(); diff --git a/src/bm_util.c b/src/bm_util.c index ef64f70..5011b09 100644 --- a/src/bm_util.c +++ b/src/bm_util.c @@ -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]", \ -- 2.7.4