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);
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) {
EXIT;
return;
END:
- _ERR("error occurred, exiting daemon");
+ _ERR("ERROR, EXITING DAEMON");
exit(1);
return;
}
/* database de-initialization */
deinitialize_database();
+ /* cynara de-initialization */
+ deinitialize_cynara();
+
/* plugin-manager de-initialization */
deinitialize_plugin_manager();
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]", \