#define _CONTEXT_BATTERY_MONITOR_H_
#include <device/callback.h>
-#include <device/battery.h>
+#include <vconf.h>
#include <DatabaseManager.h>
#include "BatteryUsageAnalyzer.h"
+#include "HeartDbReader.h"
namespace ctx {
BatteryMonitor();
~BatteryMonitor();
+ static BatteryMonitor* getInstance();
+ static void destroy();
+
+ void initialize();
int start();
int stop();
-
- static int getLastResetTime();
- bool processBatteryUsage();
+ int getLastFullTime();
+ void prepareData();
private:
- void __initialize();
bool __loadLastInfo();
bool __updateLastInfo();
- static void __batteryChangeCb(device_callback_e type, void* value, void* userData);
+ bool __processBatteryUsage();
+ bool __insertBatteryUsageLog(std::vector<CtxJson1>& usage);
+ bool __updateLastCpuUsageLog(CpuUsageMap& usage);
+ bool __getLastCpuUsageTable(CpuUsageMap* lastCpuUsage);
+ void __removeExpiredLog();
+ void __modifyLastCpuUsage(int timeDiff);
+
static void __chargerChangeCb(device_callback_e type, void* value, void* userData);
+ static void __timeChangeCb(keynode_t* node, void* userData);
+ static int __timeoutCb(void* data);
- bool __insertBatteryUsageLog(std::vector<Json>& usage);
- bool __insertLastCpuUsageLog(CpuUsageMap& usage);
- bool __getLastCpuUsageTable(CpuUsageMap* lastCpuUsage);
+ static BatteryMonitor* __instance;
+ int __lastFullTime;
+ int __lastHeartAccessTime;
DatabaseManager __dbMgr;
BatteryUsageAnalyzer __analyzer;
-
+ HeartDbReader *__heartReader;
};
} /* namespace ctx */