*
*/
+#include <dumpsys-system.h>
+#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <glib/gprintf.h>
#include <stdio.h>
+#include <unistd.h>
//#include <vconf.h>
#include "bd_history_item.h"
#include "bm_util.h"
}
*/
+static int *dumpsys_handler;
+
+int bd_callback(const int fd, const int argc, char **argv)
+{
+ int ret;
+ int opt;
+ bool checkin = false;
+
+ while ((opt = getopt(argc, argv, "c")) != -1) {
+ switch (opt) {
+ case 'c':
+ checkin = true;
+ break;
+ default:
+ break;
+ }
+ }
+
+ // TODO : use checkin
+ _INFO("Checkin state : %d", checkin);
+
+ if (!dump_sys || !dump_sys->str || dump_sys->len == 0) {
+ _INFO("Nothing to dump");
+ return 0;
+ }
+
+ ret = write(fd, dump_sys->str, dump_sys->len);
+ if (ret == -1)
+ _ERR("write failed (%d)", ret);
+ else if (ret < dump_sys->len)
+ _WARN("Write less(%d) than string size(%d)", ret, dump_sys->len);
+
+ g_string_free(dump_sys, TRUE);
+
+ return ret;
+}
+
int bd_initialize_battery_dump()
{
ENTER;
+ int ret = BATTERY_MONITOR_ERROR_NONE;
+
+ ret = dumpsys_system_register_dump_cb(bd_callback, "batterystats", (void **)&dumpsys_handler);
+ if (ret != TIZEN_ERROR_NONE) {
+ _ERR("dumpsys_system_register_dump_cb failed (%x)", ret);
+ return BATTERY_MONITOR_ERROR_NOT_INITIALIZED;
+ }
+
h_count = 0; h_flag = true;
app_map = NULL; dump_sys = NULL;
_INFO("Battery Dump Init Successful");
{
ENTER;
+ int ret;
+
+ ret = dumpsys_system_unregister_dump_cb(dumpsys_handler);
+ if (ret != TIZEN_ERROR_NONE) {
+ _WARN("dumpsys_system_unregister_dump_cb failed (%x)", ret);
+ return BATTERY_MONITOR_ERROR_NOT_INITIALIZED;
+ }
+
_INFO("Battery Dump De-Init Successful");
EXIT;