extern "C" {
#endif
+BatteryMonitor *batterymonitor_obj = NULL;
+
gboolean bm_get_mah_usage_by_app_id_for_resource_id_custom_interval(BatteryMonitor *obj, GDBusMethodInvocation *invocation,
const gchar *app_id, gint resource_id, gint64 start_time, gint64 end_time, gint uid);
#include <glib.h>
#include <tzplatform_config.h>
#include <db-util.h>
+#include <pthread.h>
+
#include "bm_private.h"
#ifdef __cplusplus
extern "C" {
#endif
-
/* List of Resources
BM_RESOURCE_ID_BLE ==> rId_ble,
BM_RESOURCE_ID_WIFI,
int bm_server_appid_insert_to_db(const char* app_id);
GSList* bm_server_query_appid_map(int *error_code);
+
#ifdef __cplusplus
}
#endif
#include <stdlib.h>
#include <dlfcn.h>
-#include "bm_plugin_interface.h"
#include "bm_plugin_manager.h"
-bm_plugin_info_h *plugins[BATTERY_MONITOR_PLUGINS_MAX];
-
extern const bm_callbacks_st *bm_receiver_callbacks[BATTERY_MONITOR_CALLBACKS_MAX];
const bm_callbacks_st ble_cb;
const bm_callbacks_st gps_cb;
#endif
+static bm_plugin_info_h *plugins[BATTERY_MONITOR_PLUGINS_MAX];
+
inline void bm_populate_callbacks(void)
{
bm_receiver_callbacks[BM_DATA_TYPE_BLE] = &ble_cb;
static GMainLoop *mainloop = NULL;
static guint owner_id = 0;
-BatteryMonitor *batterymonitor_obj = NULL;
-
static void bm_signal_handler(int signo, siginfo_t *info, void *data)
{
ENTER;
#include <sys/stat.h>
#include <glib.h>
#include <db-util.h>
-#include <pthread.h>
#include <sqlite3.h>
#include <time.h>
#include <tzplatform_config.h>
static sqlite3* g_hBatteryMonitorDB = NULL;
static sqlite3* g_hBatteryMonitorDB2 = NULL;
-pthread_mutex_t battery_monitor_mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t battery_monitor_mutex;
static const char* bm_db_err_msg(sqlite3 *bm_db_handle)
{
int return_code = BATTERY_MONITOR_ERROR_NONE;
+ if (pthread_mutex_init(&battery_monitor_mutex, NULL))
+ _ERR("error initializing mutex");
+
return_code = bm_db_open();
if (return_code != BATTERY_MONITOR_ERROR_NONE) {
_ERR("Battery Monitor DB Open Error");
return -1;
}
+ if (pthread_mutex_destroy(&battery_monitor_mutex))
+ _ERR("error destroying mutex");
+
EXIT;
return BATTERY_MONITOR_ERROR_NONE;
}