sensor: add queryRaw function for pedometer 29/79929/1
authorkibak.yoon <kibak.yoon@samsung.com>
Wed, 13 Jul 2016 12:09:43 +0000 (21:09 +0900)
committerkibak.yoon <kibak.yoon@samsung.com>
Wed, 13 Jul 2016 12:10:31 +0000 (21:10 +0900)
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
Change-Id: Ie63d52845004d08a3bc57be448368cd65b60a991

src/sensor/pedometer/PedometerQuerier.cpp
src/sensor/pedometer/PedometerQuerier.h

index c4bda95..3abf121 100644 (file)
        "MIN(" KEY_START_TIME ") AS " KEY_START_TIME ", " \
        "MAX(" KEY_END_TIME ") AS " KEY_END_TIME
 
+#define PROJECTION_RAW \
+       KEY_WALK_STEPS " + " KEY_RUN_STEPS " AS " KEY_STEPS ", " \
+       KEY_WALK_STEPS ", " \
+       KEY_RUN_STEPS ", " \
+       KEY_DISTANCE ", " \
+       KEY_CALORIES ", " \
+       KEY_START_TIME ", " \
+       KEY_END_TIME
+
 using namespace ctx;
 
 PedometerQuerier::PedometerQuerier(ContextProvider *provider, Json option) :
@@ -39,6 +48,21 @@ PedometerQuerier::~PedometerQuerier()
 {
 }
 
+int PedometerQuerier::queryRaw(int startTime, int endTime)
+{
+       char *sql = sqlite3_mprintf(
+                       "SELECT " PROJECTION_RAW \
+                       " FROM " PEDOMETER_RECORD \
+                       " WHERE " KEY_END_TIME " > %llu AND " KEY_END_TIME " <= %llu" \
+                       " ORDER BY " KEY_END_TIME " ASC",
+                       SEC_TO_MS(static_cast<uint64_t>(startTime)), SEC_TO_MS(static_cast<uint64_t>(endTime)));
+
+       int ret = Querier::query(sql);
+       sqlite3_free(sql);
+
+       return ret;
+}
+
 int PedometerQuerier::query(int startTime, int endTime)
 {
        char *sql = sqlite3_mprintf(
index 0cce36b..21af1e1 100644 (file)
@@ -26,6 +26,7 @@ namespace ctx {
                PedometerQuerier(ContextProvider *provider, Json option);
                ~PedometerQuerier();
 
+               int queryRaw(int startTime, int endTime);
                int query(int startTime, int endTime);
                int query(int startTime, int endTime, int anchor, int interval);
        };