#include "bd_history_item_dummy.h"
#endif
-dump_data_s history_data[HISTORY_SIZE_MAX];
-int h_count = 0; int h_flag = false;
-char state1_map[32][4] = {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Wm",
+static dump_data_s history_data[HISTORY_SIZE_MAX];
+static int h_count = 0, h_flag = false;
+
+/*Bit and string map*/
+static char state1_map[32][4] = {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Wm",
"", "Sd", "BP", "S", "Psc", "a", "s", "", "Pr", "Wr", "Ws", "Wl", "g", "w", "r"};
-char state2_map[32][5] = {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+static char state2_map[32][5] = {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "Ud", "Chtp", "bles", "ca", "b", "Pcl", "ch", "", "", "fl", "W", "Ww", "v", "ps"};
-char event_map[32][4] = {"Enl", "Epr", "Efg", "Etp", "Esy", "Ewl", "Ejb", "Eur", "Euf", "Ecn",
+static char event_map[32][4] = {"Enl", "Epr", "Efg", "Etp", "Esy", "Ewl", "Ejb", "Eur", "Euf", "Ecn",
"Eac", "Epi", "Epu", "Eal", "Est", "Eai", "Eaa", "Etw", "Esw", "Ewa", "Elw", "Eec"};
-char usage_map[32][4] = {"Bu", "Wu", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+static char usage_map[32][4] = {"Bu", "Wu", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""};
-GHashTable *app_map = NULL;
+static GHashTable *app_map = NULL;
static long int lst_charge = -1;
static long int rst_time = -1;
static long long min_idle_check_time;
-static int bd_print_pool_entry(int fd, int idx, int pc, history_tag_s *pool_info)
+static int bd_print_pool_entry(int fd, int idx, history_tag_s *pool_info)
{
ENTER;
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {});
+ g_string_append_printf(dump_p, "%s,%s,%d,%d,",
+ TIZEN_DUMP_VERSION, DUMP_DATA_TAG_1,
+ pool_info->sp_idx, pool_info->uid);
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append_c(dump_p, ',');
- g_string_append(dump_p, DUMP_DATA_TAG_1);
- g_string_append_c(dump_p, ',');
- g_string_append_printf(dump_p, "%d,", pc);
- g_string_append_printf(dump_p, "%d,", pool_info->uid);
g_string_append(dump_p, "\"");
+ if (pool_info->string_info != NULL)
+ g_string_append_printf(dump_p, "%s",
+ pool_info->string_info->str);
+ else
+ _ERR("NULL hsp string");
- if (pool_info->string_info != NULL) {
- gchar *temp = g_strdup(pool_info->string_info->str);
- g_string_append(dump_p, temp);
- g_free(temp);
- }
-
- g_string_append(dump_p, "\"");
- g_string_append(dump_p, "\n");
+ g_string_append(dump_p, "\"\n");
_DBG("%s", dump_p->str);
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {});
-
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0");
- g_string_append(dump_p, ",i");
- g_string_append(dump_p, ",vers");
- g_string_append(dump_p, ",19,150,NMF26V,NMF26V");
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,i,vers,%s\n",
+ TIZEN_DUMP_VERSION, DUMP_PARSER_STR);
_DBG("%s", dump_p->str);
g_string_free(dump_p, TRUE);
int ret = BATTERY_MONITOR_ERROR_NONE;
- int log_count = h_count; int pool_count = 0;
+ int log_count = h_count;
for (int i = 0; i < log_count; i++) {
history_tag_s *pool_info = NULL;
if (history_data[i].event_tag != NULL && (history_data[i].event_code & ET_FLAG_START)) {
pool_info = history_data[i].event_tag;
- ret = bd_print_pool_entry(fd, i, pool_count, pool_info);
- pool_count++;
- if (ret != BATTERY_MONITOR_ERROR_NONE)
- return BATTERY_MONITOR_ERROR_INTERNAL;
+ ret = bd_print_pool_entry(fd, i, pool_info);
+ if (ret != BATTERY_MONITOR_ERROR_NONE)
+ return BATTERY_MONITOR_ERROR_INTERNAL;
}
if (history_data[i].wakelock_tag != NULL) {
pool_info = history_data[i].wakelock_tag;
- ret = bd_print_pool_entry(fd, i, pool_count, pool_info);
- pool_count++;
- if (ret != BATTERY_MONITOR_ERROR_NONE)
- return BATTERY_MONITOR_ERROR_INTERNAL;
+ ret = bd_print_pool_entry(fd, i, pool_info);
+ if (ret != BATTERY_MONITOR_ERROR_NONE)
+ return BATTERY_MONITOR_ERROR_INTERNAL;
}
if (history_data[i].wakereason_tag != NULL) {
pool_info = history_data[i].wakereason_tag;
- ret = bd_print_pool_entry(fd, i, pool_count, pool_info);
- pool_count++;
- if (ret != BATTERY_MONITOR_ERROR_NONE)
- return BATTERY_MONITOR_ERROR_INTERNAL;
+ ret = bd_print_pool_entry(fd, i, pool_info);
+ if (ret != BATTERY_MONITOR_ERROR_NONE)
+ return BATTERY_MONITOR_ERROR_INTERNAL;
}
}
GString *dump_p = NULL;
dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {});
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append_printf(dump_p, ",%d,l,pwi,uid,", uid_n);
- g_string_append_printf(dump_p, "%0.2f", usage_mah);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,%d,l,pwi,uid,%0.2f\n",
+ TIZEN_DUMP_VERSION, uid_n, usage_mah);
+
_DBG("%s", dump_p->str);
if (write(fd, dump_p->str, dump_p->len) < 0)
_WARN("write error");
dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {});
-
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
// Power Capacity
- g_string_append_printf(dump_p, ",0,l,pws,%d,0,0,0", battery_capacity);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,pws,%d,0,0,0\n",
+ TIZEN_DUMP_VERSION, battery_capacity);
_DBG("%s", dump_p->str);
usageMAh = (usageMAh/3600);
dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, { BM_FREE(app_use); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append_printf(dump_p, ",%d,l,pwi,uid,", *uid_n);
- g_string_append_printf(dump_p, "%0.2f", usageMAh);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,%d,l,pwi,uid,%0.2f\n",
+ TIZEN_DUMP_VERSION, *uid_n, usageMAh);
+
bm_appid_usage_free(app_use);
_DBG("%s", dump_p->str);
if (write(fd, dump_p->str, dump_p->len) < 0)
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gbr_stat); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "br,");
- g_string_append_printf(dump_p, "%ld,", gbr_stat->dark); //OFF
- g_string_append_printf(dump_p, "%ld,", gbr_stat->dim); // All are time values
- g_string_append_printf(dump_p, "%ld,", gbr_stat->medium);
- g_string_append_printf(dump_p, "%ld,", gbr_stat->light); //DEF: 0
- g_string_append_printf(dump_p, "%ld", gbr_stat->bright);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,br,%ld,%ld,%ld,%ld,%ld\n",
+ TIZEN_DUMP_VERSION, gbr_stat->dark,
+ gbr_stat->dim, gbr_stat->medium,
+ gbr_stat->light, gbr_stat->bright);
+
_DBG("%s", dump_p->str);//write
if (write(fd, dump_p->str, dump_p->len) < 0)
_WARN("write error");
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gbr_stat); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "m,");
long int off_time = gbr_stat->dark;
long int on_time = (gbr_stat->dim + gbr_stat->medium + gbr_stat->bright);
- g_string_append_printf(dump_p, "%ld,", on_time);
- g_string_append_printf(dump_p, "%ld", off_time);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,m,%ld,%ld\n",
+ TIZEN_DUMP_VERSION, on_time, off_time);
_DBG("%s", dump_p->str);
if (write(fd, dump_p->str, dump_p->len) < 0)
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gn_stat); });
-
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "gn,");
- g_string_append_printf(dump_p, "%ld,", gn_stat->dn_rx_byt);
- g_string_append_printf(dump_p, "%ld,", gn_stat->dn_tx_byt);
- g_string_append_printf(dump_p, "%ld,", gn_stat->wifi_rx_byt);
- g_string_append_printf(dump_p, "%ld,", gn_stat->wifi_tx_byt);
- g_string_append_printf(dump_p, "%ld,", gn_stat->dn_rx_pkt);
- g_string_append_printf(dump_p, "%ld,", gn_stat->dn_tx_pkt);
- g_string_append_printf(dump_p, "%ld,", gn_stat->wifi_rx_pkt);
- g_string_append_printf(dump_p, "%ld,", gn_stat->wifi_tx_pkt);
- g_string_append_printf(dump_p, "%d,", 0); //add this to struct as well
- g_string_append_printf(dump_p, "%d", 0);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,gn,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,0,0\n",
+ TIZEN_DUMP_VERSION, gn_stat->dn_rx_byt,
+ gn_stat->dn_tx_byt, gn_stat->wifi_rx_byt,
+ gn_stat->wifi_tx_byt, gn_stat->dn_rx_pkt,
+ gn_stat->dn_tx_pkt, gn_stat->wifi_rx_pkt,
+ gn_stat->wifi_tx_pkt);
/*_DBG("%s", dump_p->str);//write
if (write(fd, dump_p->str, dump_p->len) < 0)
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gwfl_stat); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "gwfl,");
- g_string_append_printf(dump_p, "%ld,", gwfl_stat->wifi_on_time);
- g_string_append_printf(dump_p, "%ld,", gwfl_stat->wifi_conn_time);
- g_string_append(dump_p, "0,0,0");//legacy
+ g_string_append_printf(dump_p, "%s,0,l,gwfl,%ld,%ld,0,0,0\n",
+ TIZEN_DUMP_VERSION,
+ gwfl_stat->wifi_on_time, gwfl_stat->wifi_conn_time);
- g_string_append(dump_p, "\n");
_DBG("%s", dump_p->str);//write
if (write(fd, dump_p->str, dump_p->len) < 0)
_WARN("write error");
g_string_free(dump_p, TRUE);
+ float usage_mah = (float)gwfl_stat->wifi_pwi_val/3600;
+
dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gwfl_stat); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "gwfcd,");
- //idle rx pwi tx
- float usage_mah = (float)gwfl_stat->wifi_pwi_val/3600;
- g_string_append_printf(dump_p, "%ld,", gwfl_stat->wifi_idle_time);
- g_string_append_printf(dump_p, "%ld,", gwfl_stat->wifi_rx_time);
- g_string_append_printf(dump_p, "%0.2f,", usage_mah);
- g_string_append_printf(dump_p, "%ld", gwfl_stat->wifi_tx_time);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,gwfcd,%ld,%ld,%0.2f,%ld\n",
+ TIZEN_DUMP_VERSION, gwfl_stat->wifi_idle_time,
+ gwfl_stat->wifi_rx_time, usage_mah,
+ gwfl_stat->wifi_tx_time);
+
_DBG("%s", dump_p->str);//write
if (write(fd, dump_p->str, dump_p->len) < 0)
_WARN("write error");
return ret;
}
+ float usage_mah = (float)gble_stat->ble_pwi_val/3600;
+
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gble_stat); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "gble,");
- float usage_mah = (float)gble_stat->ble_pwi_val/3600;
- g_string_append_printf(dump_p, "%ld,", gble_stat->ble_idle_time);
- g_string_append_printf(dump_p, "%ld,", gble_stat->ble_rx_time);
- g_string_append_printf(dump_p, "%ld,", gble_stat->ble_tx_time);
- g_string_append_printf(dump_p, "%0.2f", usage_mah);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,gble,%ld,%ld,%ld,%0.2f\n",
+ TIZEN_DUMP_VERSION, gble_stat->ble_idle_time,
+ gble_stat->ble_rx_time, gble_stat->ble_tx_time,
+ usage_mah);
_DBG("%s", dump_p->str);//write
if (write(fd, dump_p->str, dump_p->len) < 0)
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gst_stat); });
-
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "sgt,");
- g_string_append_printf(dump_p, "%ld,", gst_stat->none_time);
- g_string_append_printf(dump_p, "%ld,", gst_stat->poor_time);
- g_string_append_printf(dump_p, "%ld,", gst_stat->med_time);
- g_string_append_printf(dump_p, "%ld,", gst_stat->good_time);
- g_string_append_printf(dump_p, "%ld", gst_stat->grt_time);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,sgt,%ld,%ld,%ld,%ld,%ld\n",
+ TIZEN_DUMP_VERSION, gst_stat->none_time,
+ gst_stat->poor_time, gst_stat->med_time,
+ gst_stat->good_time, gst_stat->grt_time);
_DBG("%s", dump_p->str);//write
dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gst_stat); });
+ g_string_append_printf(dump_p, "%s,0,l,sst,%ld\n",
+ TIZEN_DUMP_VERSION, gst_stat->scan_time);
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "sst,");
- g_string_append_printf(dump_p, "%ld", gst_stat->scan_time);
-
- g_string_append(dump_p, "\n");
_DBG("%s", dump_p->str);//write
if (write(fd, dump_p->str, dump_p->len) < 0)
_WARN("write error");
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gwst_stat); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "wsgt,");
// g_string_append_printf(dump_p, "%ld,", gwst_stat->wscan_time);
- g_string_append_printf(dump_p, "%ld,", gwst_stat->wnone_time);
- g_string_append_printf(dump_p, "%ld,", gwst_stat->wpoor_time);
- g_string_append_printf(dump_p, "%ld,", gwst_stat->wmed_time);
- g_string_append_printf(dump_p, "%ld,", gwst_stat->wgood_time);
- g_string_append_printf(dump_p, "%ld", gwst_stat->wgrt_time);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,wsgt,%ld,%ld,%ld,%ld,%ld\n",
+ TIZEN_DUMP_VERSION, gwst_stat->wnone_time,
+ gwst_stat->wpoor_time, gwst_stat->wmed_time,
+ gwst_stat->wgood_time, gwst_stat->wgrt_time);
+
_DBG("%s", dump_p->str);//write
if (write(fd, dump_p->str, dump_p->len) < 0)
_WARN("write error");
GString *dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gcpu_stat); BM_FREE(res_use); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0,l,");
- g_string_append(dump_p, "cpu,");
- g_string_append_printf(dump_p, "%ld,", gcpu_stat->usr_time);
- g_string_append_printf(dump_p, "%ld,", gcpu_stat->sys_time);
- g_string_append_printf(dump_p, "%0.2f", usagemah);
- g_string_append(dump_p, "\n");
+ g_string_append_printf(dump_p, "%s,0,l,cpu,%ld,%ld,%0.2f\n",
+ TIZEN_DUMP_VERSION, gcpu_stat->usr_time,
+ gcpu_stat->sys_time, usagemah);
+
bm_resourceid_usage_free(res_use);
_DBG("%s", dump_p->str);
if (write(fd, dump_p->str, dump_p->len) < 0)
for (iter = list; iter != NULL; iter = g_slist_next(iter)) {
dump_p = g_string_sized_new(30);
BM_CHECK_MEM_ALLOC(dump_p, {bm_set_free_gslist_appid_map(list); });
- g_string_append(dump_p, TIZEN_DUMP_VERSION);
- g_string_append(dump_p, ",0");
- g_string_append(dump_p, ",i");
- g_string_append(dump_p, ",uid,");
+ g_string_append_printf(dump_p, "%s,0,i,uid,",
+ TIZEN_DUMP_VERSION);
appid_map_s *amap_data = (appid_map_s *)iter->data;
g_string_append_printf(dump_p, "%d,", (amap_data->id+10000));
gchar *temp_str = g_strdup(amap_data->AppId);
_ERR("INVALID ARG");
return -1;
}
- switch(opt) {
- case 'c':
- _WARN("Case %s", argv[0]);
- checkin = true;
- ret = bd_print_history_item_main(fd, -1, 0, checkin);
- if (ret != BATTERY_MONITOR_ERROR_NONE) {
- _ERR("bd_print_history_item_main failed (%x)", ret);
- return -1;
- }
- break;
- case 'r':
- _WARN("Case %s", argv[0]);
- ret = bd_reset_history();
- if (ret != BATTERY_MONITOR_ERROR_NONE) {
- _ERR("bd_reset_history failed (%x)", ret);
- return -1;
- }
- break;
- default:
- _ERR("Default: Refer Dump Spec Guide");
- break;
+ switch (opt) {
+ case 'c':
+ _WARN("Case %s", argv[0]);
+ checkin = true;
+ ret = bd_print_history_item_main(fd, -1, 0, checkin);
+ if (ret != BATTERY_MONITOR_ERROR_NONE) {
+ _ERR("bd_print_history_item_main failed (%x)", ret);
+ return -1;
+ }
+ break;
+ case 'r':
+ _WARN("Case %s", argv[0]);
+ ret = bd_reset_history();
+ if (ret != BATTERY_MONITOR_ERROR_NONE) {
+ _ERR("bd_reset_history failed (%x)", ret);
+ return -1;
+ }
+ break;
+ default:
+ _ERR("Default: Refer Dump Spec Guide");
+ break;
}
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
#include <sys/stat.h>
#include <glib.h>
#include <db-util.h>
return count;
}
-static int bm_query_app_usage_convert_to_sql(const char *str, long s_t, bm_stmt hstmt)
-{
- ENTER;
-
- int count = 1;
- bm_query_bind_text(hstmt, count++, str);
- bm_query_bind_int(hstmt, count++, s_t);
-
- EXIT;
- return count;
-}
-
static int bm_appid_map_usage_convert_to_sql(const char* app_id, bm_stmt hstmt, char *sql_value)
{
ENTER;
return NULL;
}
-static appid_usage_s* bm_query_usage_by_appid(sqlite3 *bm_db_handle, const char *app_id, int *error_code, int period_type)
-{
- ENTER;
-
- long int duration = 0;
- duration = bm_get_time_bias(period_type);
- if (duration == 0) {
- _ERR("Invalid period_type [%d]", period_type);
- return NULL;
- }
- _DBG("Value for duration is [%ld]", duration);
-
- bm_stmt hstmt = NULL;
- char query[BATTERY_MONITOR_SQL_LEN_MAX] = {0, };
- int rc = 0;
- *error_code = BATTERY_MONITOR_ERROR_NONE;
-
- BM_RETURN_VAL((app_id != NULL), { *error_code = BATTERY_MONITOR_ERROR_INVALID_PARAMETER; },
- NULL, ("APP ID IS NULL"));
- BM_RETURN_VAL((bm_db_handle != NULL), { *error_code = BATTERY_MONITOR_ERROR_DB_NOT_OPENED; },
- NULL, ("The database isn't connected."));
- BM_MEMSET(query, 0x00, BATTERY_MONITOR_SQL_LEN_MAX);
-
- BM_SNPRINTF(query, sizeof(query), "SELECT AppId, sum(rId_ble), sum(rId_wifi), sum(rId_cpu), \
- sum(rId_display), sum(rId_device_network), sum(rId_gps) FROM %s WHERE \
- AppId = ? AND log_time >= ?", BATTERY_MONITOR_APP_ID_USAGE_TABLE);
-
- hstmt = bm_prepare_query(bm_db_handle, query);
- if (bm_db_err_code(bm_db_handle) == SQLITE_PERM) {
- _ERR("Access failed(%s)", bm_db_err_msg(bm_db_handle));
- *error_code = BATTERY_MONITOR_ERROR_PERMISSION_DENIED;
- return NULL;
- }
-
- bm_query_app_usage_convert_to_sql(app_id, duration, hstmt);
- appid_usage_s *bm_app_type = NULL;
- rc = bm_query_step(hstmt);
- BM_CATCH_ERROR_P(rc == SQLITE_ROW, {}, BATTERY_MONITOR_ERROR_RECORD_NOT_FOUND,
- ("The record isn't found.(%s)\n", app_id));
-
- bm_app_type = (appid_usage_s *)calloc(1, sizeof(appid_usage_s));
- if (bm_app_type == NULL) {
- _ERR("memory allocation failed");
- if (hstmt != NULL) {
- rc = bm_query_finalize(hstmt);
- BM_RETURN_VAL((rc == BATTERY_MONITOR_ERROR_NONE), { *error_code = rc; },
- NULL, ("finalize error"));
- hstmt = NULL;
- }
- *error_code = BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
- return NULL;
- }
-
- bm_convert_column_to_appid_usage(hstmt, bm_app_type);
-
- rc = bm_query_finalize(hstmt);
- BM_CATCH_ERROR_P((rc == BATTERY_MONITOR_ERROR_NONE), {}, rc, ("finalize error"));
- hstmt = NULL;
- *error_code = BATTERY_MONITOR_ERROR_NONE;
-
-CATCH:
- if (hstmt != NULL) {
- rc = bm_query_finalize(hstmt);
- if (rc != BATTERY_MONITOR_ERROR_NONE) {
- *error_code = rc;
- _ERR("finalize error");
- }
- hstmt = NULL;
- }
- if ((*error_code != BATTERY_MONITOR_ERROR_NONE) && bm_app_type) {
- BM_FREE(bm_app_type);
- bm_app_type = NULL;
- }
- if ((*error_code == BATTERY_MONITOR_ERROR_NONE) && bm_app_type != NULL) {
- _INFO("Returning appid usage");
- return bm_app_type;
- }
-
- EXIT;
- return NULL;
-}
-
static appid_usage_s* bm_query_usage_by_appid_ci(sqlite3 *bm_db_handle, const char *app_id, long long s_time, long long e_time, int *error_code)
{
ENTER;
return error_code;
}
-static resourceid_usage_s* bm_query_usage_by_resourceid(sqlite3 *bm_db_handle, const char *resource_id, int *error_code, int period_type)
-{
- ENTER;
-
- long int duration = 0;
- duration = bm_get_time_bias(period_type);
- if (duration == 0) {
- _ERR("Invalid period_type [%d]", period_type);
- return NULL;
- }
-
- _DBG("Value for duration is [%ld]", duration);
-
- bm_stmt hstmt = NULL;
- char query[BATTERY_MONITOR_SQL_LEN_MAX] = {0, };
- int rc = 0;
- *error_code = BATTERY_MONITOR_ERROR_NONE;
-
- BM_RETURN_VAL((resource_id != NULL), { *error_code = BATTERY_MONITOR_ERROR_INVALID_PARAMETER; },
- NULL, ("RESOURCE ID IS NULL"));
- BM_RETURN_VAL((bm_db_handle != NULL), { *error_code = BATTERY_MONITOR_ERROR_DB_NOT_OPENED; },
- NULL, ("The database isn't connected."));
- BM_MEMSET(query, 0x00, BATTERY_MONITOR_SQL_LEN_MAX);
- BM_SNPRINTF(query, sizeof(query), "SELECT ResourceId, sum(usage) FROM %s WHERE ResourceId = '%s' \
- AND log_time >= %ld", BATTERY_MONITOR_RESOURCE_ID_USAGE_TABLE, resource_id, duration);
-
- hstmt = bm_prepare_query(bm_db_handle, query);
- if (bm_db_err_code(bm_db_handle) == SQLITE_PERM) {
- _ERR("Access failed(%s)", bm_db_err_msg(bm_db_handle));
- *error_code = BATTERY_MONITOR_ERROR_PERMISSION_DENIED;
- return NULL;
- }
-
- resourceid_usage_s *bm_resource_type = NULL;
-
- rc = bm_query_step(hstmt);
- BM_CATCH_ERROR_P(rc == SQLITE_ROW, {}, BATTERY_MONITOR_ERROR_RECORD_NOT_FOUND, ("The record isn't found.(%s)\n", resource_id));
-
- bm_resource_type = (resourceid_usage_s *)calloc(1, sizeof(resourceid_usage_s));
- if (bm_resource_type == NULL) {
- _ERR("memory allocation failed");
- if (hstmt != NULL) {
- rc = bm_query_finalize(hstmt);
- BM_RETURN_VAL((rc == BATTERY_MONITOR_ERROR_NONE), { *error_code = rc; }, NULL, ("finalize error"));
- hstmt = NULL;
- }
- *error_code = BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
- return NULL;
- }
-
- bm_convert_column_to_resourceid_usage(hstmt, bm_resource_type);
-
- rc = bm_query_finalize(hstmt);
- BM_CATCH_ERROR_P((rc == BATTERY_MONITOR_ERROR_NONE), {}, rc, ("finalize error"));
- hstmt = NULL;
-
- *error_code = BATTERY_MONITOR_ERROR_NONE;
-
-CATCH:
- if (hstmt != NULL) {
- rc = bm_query_finalize(hstmt);
- if (rc != BATTERY_MONITOR_ERROR_NONE) {
- *error_code = rc;
- _ERR("finalize error");
- }
- hstmt = NULL;
- }
- if ((*error_code != BATTERY_MONITOR_ERROR_NONE) && bm_resource_type) {
- BM_FREE(bm_resource_type);
- bm_resource_type = NULL;
- }
- if ((*error_code == BATTERY_MONITOR_ERROR_NONE) && bm_resource_type != NULL) {
- _INFO("Returning appid usage");
- return bm_resource_type;
- }
-
- EXIT;
- return NULL;
-}
-
static resourceid_usage_s* bm_query_usage_by_resourceid_ci(sqlite3 *bm_db_handle, const char *resource_id, long long s_time, long long e_time, int *error_code)
{
ENTER;
}
/* For App usage related queries */
-appid_usage_s *bm_server_query_app_usage_by_appid(const char *app_id, int period_type, int *error_code)
-{
- ENTER;
-
- appid_usage_s *bm_app_type = NULL;
- *error_code = BATTERY_MONITOR_ERROR_NONE;
-
- BM_RETURN_VAL((g_hBatteryMonitorDB != NULL), { *error_code = BATTERY_MONITOR_ERROR_DB_NOT_OPENED; }, NULL, ("The database isn't connected."));
- BM_RETURN_VAL((app_id != NULL), { *error_code = BATTERY_MONITOR_ERROR_INVALID_PARAMETER; }, NULL, ("The Battery Monitor Handle is NULL"));
-
- bm_app_type = bm_query_usage_by_appid(g_hBatteryMonitorDB, app_id, error_code, period_type);
-
- EXIT;
- return bm_app_type;
-}
-
appid_usage_s *bm_server_query_app_usage_by_appid_ci(const char *app_id, long long s_time, long long e_time, int *error_code)
{
ENTER;
}
/* For Resource usage related queries */
-resourceid_usage_s *bm_server_query_resource_usage_resourceid(const char *resource_id, int period_type, int *error_code)
-{
- ENTER;
-
- resourceid_usage_s *bm_resource_type = NULL;
- *error_code = BATTERY_MONITOR_ERROR_NONE;
-
- BM_RETURN_VAL((g_hBatteryMonitorDB != NULL), { *error_code = BATTERY_MONITOR_ERROR_DB_NOT_OPENED; }, NULL, ("The database isn't connected."));
- BM_RETURN_VAL((resource_id != NULL), { *error_code = BATTERY_MONITOR_ERROR_INVALID_PARAMETER; }, NULL, ("The Battery Monitor Handle is NULL"));
-
- bm_resource_type = bm_query_usage_by_resourceid(g_hBatteryMonitorDB, resource_id, error_code, period_type);
-
- EXIT;
- return bm_resource_type;
-}
-
resourceid_usage_s *bm_server_query_resource_usage_resourceid_ci(const char *resource_id, long long s_time, long long e_time, int *error_code)
{
resourceid_usage_s *bm_resource_type = NULL;