Rename the class Json to avoid symbol conflicts with Jsoncpp
[platform/core/context/context-provider.git] / src / battery-stats / BatteryMonitor.h
index 7ec34f8..07b5549 100644 (file)
 #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 {
 
@@ -29,27 +30,37 @@ 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 */