#include <types_internal.h>
#include <ContextManager.h>
#include <ContextProviderBase.h>
-#include <db_mgr.h>
+#include <DatabaseManager.h>
#include <CustomContextProvider.h>
#include "CustomBase.h"
static std::map<std::string, ctx::CustomBase*> __customMap;
+static ctx::DatabaseManager __dbManager;
static bool __isValidFact(std::string subject, ctx::Json& fact);
static bool __checkValueInt(ctx::Json& tmpl, std::string key, int value);
+ "attributes TEXT DEFAULT '' NOT NULL, owner TEXT DEFAULT '' NOT NULL)";
std::vector<Json> record;
- bool ret = db_manager::execute_sync(q.c_str(), &record);
+ bool ret = __dbManager.executeSync(q.c_str(), &record);
IF_FAIL_RETURN_TAG(ret, false, _E, "Create template table failed");
// Register custom items
std::string qSelect = "SELECT * FROM context_trigger_custom_template";
- ret = db_manager::execute_sync(qSelect.c_str(), &record);
+ ret = __dbManager.executeSync(qSelect.c_str(), &record);
IF_FAIL_RETURN_TAG(ret, false, _E, "Failed to query custom templates");
IF_FAIL_RETURN(record.size() > 0, true);
std::string q = "INSERT OR IGNORE INTO context_trigger_custom_template (subject, name, attributes, owner) VALUES ('"
+ subject + "', '" + name + "', '" + tmpl.str() + "', '" + owner + "'); ";
std::vector<Json> record;
- bool ret = db_manager::execute_sync(q.c_str(), &record);
+ bool ret = __dbManager.executeSync(q.c_str(), &record);
IF_FAIL_RETURN_TAG(ret, false, _E, "Failed to query custom templates");
}
// Remove item from custom template db
std::string q = "DELETE FROM context_trigger_custom_template WHERE subject = '" + subject + "'";
std::vector<Json> record;
- bool ret = db_manager::execute_sync(q.c_str(), &record);
+ bool ret = __dbManager.executeSync(q.c_str(), &record);
IF_FAIL_RETURN_TAG(ret, false, _E, "Failed to query custom templates");
return ERR_NONE;
* limitations under the License.
*/
-#include "location_logger.h"
-#include <types_internal.h>
-#include "../place_recognition_types.h"
-#include <db_mgr.h>
#include <sstream>
+#include <types_internal.h>
#include <Json.h>
+#include <DatabaseManager.h>
+#include "../place_recognition_types.h"
#include "user_places_params.h"
#include "debug_utils.h"
+#include "location_logger.h"
#ifdef TIZEN_ENGINEER_MODE
#define __LOCATION_CREATE_TABLE_COLUMNS \
int ctx::LocationLogger::__dbCreateTable()
{
- bool ret = db_manager::create_table(0, LOCATION_TABLE_NAME, __LOCATION_CREATE_TABLE_COLUMNS, NULL, NULL);
+ ctx::DatabaseManager dbManager;
+ bool ret = dbManager.createTable(0, LOCATION_TABLE_NAME, __LOCATION_CREATE_TABLE_COLUMNS, NULL, NULL);
_D("%s -> Table Creation Request", ret ? "SUCCESS" : "FAIL");
return 0;
}
data.set(NULL, LOCATION_COLUMN_METHOD, static_cast<int>(locationEvent.method));
#endif /* TIZEN_ENGINEER_MODE */
+ ctx::DatabaseManager dbManager;
int64_t rowId;
- bool ret = db_manager::insert_sync(LOCATION_TABLE_NAME, data, &rowId);
+ bool ret = dbManager.insertSync(LOCATION_TABLE_NAME, data, &rowId);
_D("%s -> DB: location table insert result", ret ? "SUCCESS" : "FAIL");
return ret;
}
#include <sstream>
#include <types_internal.h>
-#include <db_mgr.h>
#include <Json.h>
#include "similarity.h"
#include "places_detector.h"
std::vector<ctx::Json> ctx::PlacesDetector::__dbGetVisits()
{
std::vector<Json> records;
- bool ret = db_manager::execute_sync(__GET_VISITS_QUERY, &records);
+ bool ret = __dbManager.executeSync(__GET_VISITS_QUERY, &records);
_D("load visits execute query result: %s", ret ? "SUCCESS" : "FAIL");
return records;
}
std::vector<ctx::Json> ctx::PlacesDetector::__dbGetPlaces()
{
std::vector<Json> records;
- bool ret = db_manager::execute_sync(__GET_PLACES_QUERY, &records);
+ bool ret = __dbManager.executeSync(__GET_PLACES_QUERY, &records);
_D("load places execute query result: %s", ret ? "SUCCESS" : "FAIL");
return records;
}
void ctx::PlacesDetector::__dbDeletePlaces()
{
std::vector<Json> records;
- bool ret = db_manager::execute_sync(__DELETE_PLACES_QUERY, &records);
+ bool ret = __dbManager.executeSync(__DELETE_PLACES_QUERY, &records);
_D("delete places execute query result: %s", ret ? "SUCCESS" : "FAIL");
}
query << " WHERE " << VISIT_COLUMN_END_TIME << " < " << threshold;
// query << " AND 0"; // XXX: Always false condition. Uncomment it for not deleting any visit during development.
std::vector<Json> records;
- bool ret = db_manager::execute_sync(query.str().c_str(), &records);
+ bool ret = __dbManager.executeSync(query.str().c_str(), &records);
_D("delete old visits execute query result: %s", ret ? "SUCCESS" : "FAIL");
}
void ctx::PlacesDetector::__dbCreateTable()
{
- bool ret = db_manager::create_table(0, PLACE_TABLE, __PLACE_TABLE_COLUMNS);
+ bool ret = __dbManager.createTable(0, PLACE_TABLE, __PLACE_TABLE_COLUMNS);
_D("db: place Table Creation Result: %s", ret ? "SUCCESS" : "FAIL");
}
data.set(NULL, PLACE_COLUMN_CREATE_DATE, static_cast<int>(place.createDate));
int64_t rowId;
- bool ret = db_manager::insert_sync(PLACE_TABLE, data, &rowId);
+ bool ret = __dbManager.insertSync(PLACE_TABLE, data, &rowId);
_D("insert place execute query result: %s", ret ? "SUCCESS" : "FAIL");
}
#ifndef _CONTEXT_PLACE_RECOGNITION_PLACES_DETECTOR_
#define _CONTEXT_PLACE_RECOGNITION_PLACES_DETECTOR_
-#include "visit_detector.h"
-#include <ITimerListener.h>
+#include <vector>
#include <cstdint>
-#include "db_listener_iface.h"
+#include <ITimerListener.h>
+#include <DatabaseManager.h>
+#include "visit_detector.h"
#include "user_places_types.h"
-#include <vector>
namespace ctx {
private:
bool __testMode;
+ DatabaseManager __dbManager;
double __doubleValueFromJson(Json &row, const char* key);
Categs __visitCategsFromJson(Json &row);
#include "user_places.h"
#include "places_detector.h"
#include "../place_recognition_types.h"
-#include "db_mgr.h"
ctx::UserPlaces::UserPlaces(PlaceRecogMode energyMode):
__visitDetector(nullptr),
#include <iomanip>
#include <sstream>
#include <types_internal.h>
-#include <db_mgr.h>
#include <Json.h>
#include "../place_recognition_types.h"
#include "visit_detector.h"
void ctx::VisitDetector::__dbCreateTable()
{
- bool ret = db_manager::create_table(0, VISIT_TABLE, __VISIT_TABLE_COLUMNS);
+ bool ret = __dbManager.createTable(0, VISIT_TABLE, __VISIT_TABLE_COLUMNS);
_D("db: visit Table Creation Result: %s", ret ? "SUCCESS" : "FAIL");
}
__putVisitCategsToJson(visit.categs, data);
int64_t rowId;
- bool ret = db_manager::insert_sync(VISIT_TABLE, data, &rowId);
+ bool ret = __dbManager.insertSync(VISIT_TABLE, data, &rowId);
_D("db: visit table insert result: %s", ret ? "SUCCESS" : "FAIL");
return ret;
}
#include <unordered_set>
#include "user_places_types.h"
#include <Json.h>
+#include <DatabaseManager.h>
#include "visit_listener_iface.h"
#include "location_logger.h"
#include "location_listener_iface.h"
int __tolerance;
bool __entranceToPlace;
int __periodSeconds;
+ DatabaseManager __dbManager;
// fields that are used only in case of entrance detection
std::shared_ptr<MacSet> __representativesMacs; // macs that represent the current place
* limitations under the License.
*/
-#include "wifi_logger.h"
+#include <sstream>
#include <types_internal.h>
+#include <DatabaseManager.h>
#include "../place_recognition_types.h"
-#include <db_mgr.h>
-#include <sstream>
#include "debug_utils.h"
+#include "wifi_logger.h"
#define __WIFI_CREATE_TABLE_COLUMNS \
WIFI_COLUMN_TIMESTAMP " timestamp NOT NULL, "\
int ctx::WifiLogger::__dbCreateTable()
{
- bool ret = db_manager::create_table(0, WIFI_TABLE_NAME, __WIFI_CREATE_TABLE_COLUMNS, NULL, NULL);
+ ctx::DatabaseManager dbManager;
+ bool ret = dbManager.createTable(0, WIFI_TABLE_NAME, __WIFI_CREATE_TABLE_COLUMNS, NULL, NULL);
_D("Table Creation Request: %s", ret ? "SUCCESS" : "FAIL");
return ret;
}
int ctx::WifiLogger::__dbInsertLogs()
{
if (__logs.size() > 0) {
+ ctx::DatabaseManager dbManager;
std::stringstream query;
const char* separator = " ";
query << "BEGIN TRANSACTION; \
__logs.clear();
query << "; \
END TRANSACTION;";
- bool ret = ctx::db_manager::execute(0, query.str().c_str(), NULL);
+ bool ret = dbManager.execute(0, query.str().c_str(), NULL);
_D("DB insert request: %s", ret ? "SUCCESS" : "FAIL");
return ret;
}
#include <time.h>
#include <app_manager.h>
-#include <db_mgr.h>
#include <Json.h>
#include <types_internal.h>
#include "../shared/system_info.h"
if (ctx::system_info::get_wifi_bssid(bssid))
data.set(NULL, STATS_BSSID, bssid);
- db_manager::insert(0, APP_TABLE_USAGE_LOG, data, NULL);
+ __dbManager.insert(0, APP_TABLE_USAGE_LOG, data, NULL);
}
void ctx::app_use_monitor::finish_record(std::string app_id)
"SELECT MAX(" STATS_COL_ROW_ID ") FROM " APP_TABLE_USAGE_LOG \
" WHERE " STATS_APP_ID " = '" << app_id << "'" \
" AND " STATS_DURATION " = 0)";
- db_manager::execute(0, query.str().c_str(), NULL);
+ __dbManager.execute(0, query.str().c_str(), NULL);
}
bool ctx::app_use_monitor::is_skippable(std::string app_id)
std::stringstream query;
query << "DELETE FROM " APP_TABLE_USAGE_LOG " WHERE " \
STATS_UNIV_TIME " < strftime('%s', 'now') - " << LOG_RETENTION_PERIOD;
- db_manager::execute(0, query.str().c_str(), NULL);
+ __dbManager.execute(0, query.str().c_str(), NULL);
}
#include <string>
#include <sstream>
#include <DBusSignalWatcher.h>
+#include <DatabaseManager.h>
namespace ctx {
int64_t signal_id;
int last_cleanup_time;
DBusSignalWatcher __dbusWatcher;
+ DatabaseManager __dbManager;
bool start_logging(void);
void stop_logging(void);
#include "inactive_detector_storage_queries.h"
#include "inactive_detector_classificator.h"
#include "app_inactive_detector_types.h"
-#include "db_mgr.h"
-#include <db_mgr.h>
/*int ctx::inactive_detector_storage::create_table()
{
- bool ret = db_manager::create_table(0, WIFI_TABLE_NAME, WIFI_CREATE_TABLE_COLUMNS, NULL, NULL);
+ bool ret = __dbManager.create_table(0, WIFI_TABLE_NAME, WIFI_CREATE_TABLE_COLUMNS, NULL, NULL);
_D("Table Creation Request: %s", ret ? "SUCCESS" : "FAIL");
return ret;
}*/
IF_FAIL_RETURN(!query.empty(), ERR_OPERATION_FAILED);
- bool ret = db_manager::execute(
+ bool ret = __dbManager.execute(
STR_EQ(subject, APP_INACTIVE_SUBJ_GET_APPS_INACTIVE) ?
APP_INACTIVE_QUERY_ID_GET_APPS_INACTIVE :
APP_INACTIVE_QUERY_ID_GET_APPS_ACTIVE,
}
}
-void ctx::inactive_detector_storage::on_query_result_received(unsigned int query_id,
+void ctx::inactive_detector_storage::onExecuted(unsigned int query_id,
int error,
std::vector<Json>& records)
{
{
std::string query;
query = query_update_apps(apps_with_weights);
- bool ret = db_manager::execute(APP_INACTIVE_QUERY_ID_UPDATE_CLUSTERS,
+ bool ret = __dbManager.execute(APP_INACTIVE_QUERY_ID_UPDATE_CLUSTERS,
query.c_str(),
this);
_D("load visits execute query result: %s", ret ? "SUCCESS" : "FAIL");
inject_params(query, placeholder, timestamp_str);
- bool ret = db_manager::execute(APP_INACTIVE_QUERY_ID_GET_APPS_WEIGHT,
+ bool ret = __dbManager.execute(APP_INACTIVE_QUERY_ID_GET_APPS_WEIGHT,
query.c_str(),
this);
_D("load visits execute query result: %s", ret ? "SUCCESS" : "FAIL");
#include <vector>
#include "app_inactive_detector_types.h"
#include <Json.h>
-#include <db_listener_iface.h>
+#include <DatabaseManager.h>
namespace ctx {
- class inactive_detector_storage : public db_listener_iface
+ class inactive_detector_storage : public IDatabaseListener
{
private:
//int type; //TODO: enum
std::string subquery_form_values(std::vector<app_t> *apps_with_weights);
- void on_creation_result_received(unsigned int query_id, int error) {}
- void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id) {}
- void on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records);// {}
-
+ void onTableCreated(unsigned int query_id, int error) {}
+ void onInserted(unsigned int query_id, int error, int64_t row_id) {}
+ void onExecuted(unsigned int query_id, int error, std::vector<Json>& records);
+
+ DatabaseManager __dbManager;
+
public:
inactive_detector_storage();
~inactive_detector_storage();
#include <sstream>
#include <types_internal.h>
#include <ContextManager.h>
-#include <db_mgr.h>
#include "app_stats_types.h"
#include "db_handle.h"
#include <sstream>
#include <Json.h>
#include <types_internal.h>
-#include <db_mgr.h>
#include "app_stats_types.h"
#include "db_init.h"
static bool done = false;
IF_FAIL_VOID(!done);
- db_manager::create_table(0, APP_TABLE_USAGE_LOG, APP_TABLE_USAGE_LOG_COLUMNS, NULL, NULL);
- db_manager::create_table(0, APP_TABLE_REMOVABLE_APP, APP_TABLE_REMOVABLE_APP_COLUMNS, NULL, NULL);
- db_manager::execute(0, APP_TEMP_USAGE_FREQ_SQL, NULL);
+ __dbManager.createTable(0, APP_TABLE_USAGE_LOG, APP_TABLE_USAGE_LOG_COLUMNS, NULL, NULL);
+ __dbManager.createTable(0, APP_TABLE_REMOVABLE_APP, APP_TABLE_REMOVABLE_APP_COLUMNS, NULL, NULL);
+ __dbManager.execute(0, APP_TEMP_USAGE_FREQ_SQL, NULL);
done = true;
}
void ctx::app_db_initializer::check_app_list()
{
- db_manager::execute(EMPTY_CHECKER_QID, "SELECT * FROM " APP_TABLE_REMOVABLE_APP " LIMIT 1", this);
+ __dbManager.execute(EMPTY_CHECKER_QID, "SELECT * FROM " APP_TABLE_REMOVABLE_APP " LIMIT 1", this);
}
void ctx::app_db_initializer::duplicate_app_list()
bool ctx::app_db_initializer::app_info_cb(package_info_app_component_type_e comp_type, const char *app_id, void *user_data)
{
Json data;
+ DatabaseManager dbManager;
+
data.set(NULL, STATS_APP_ID, app_id);
- return db_manager::insert(0, APP_TABLE_REMOVABLE_APP, data, NULL);
+ return dbManager.insert(0, APP_TABLE_REMOVABLE_APP, data, NULL);
}
-void ctx::app_db_initializer::on_creation_result_received(unsigned int query_id, int error)
+void ctx::app_db_initializer::onTableCreated(unsigned int query_id, int error)
{
}
-void ctx::app_db_initializer::on_insertion_result_received(unsigned int query_id, int error, int64_t row_id)
+void ctx::app_db_initializer::onInserted(unsigned int query_id, int error, int64_t row_id)
{
}
-void ctx::app_db_initializer::on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records)
+void ctx::app_db_initializer::onExecuted(unsigned int query_id, int error, std::vector<Json>& records)
{
if (query_id != EMPTY_CHECKER_QID) {
_E("Unknown Query ID: %d", query_id);
#define __CONTEXT_APP_DB_INITIALIZER_H__
#include <package_manager.h>
-#include <db_listener_iface.h>
+#include <DatabaseManager.h>
namespace ctx {
- class app_db_initializer : public db_listener_iface {
+ class app_db_initializer : public IDatabaseListener {
private:
void create_table();
void check_app_list();
void duplicate_app_list();
- void on_creation_result_received(unsigned int query_id, int error);
- void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id);
- void on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records);
+ void onTableCreated(unsigned int query_id, int error);
+ void onInserted(unsigned int query_id, int error, int64_t row_id);
+ void onExecuted(unsigned int query_id, int error, std::vector<Json>& records);
static bool package_info_cb(package_info_h package_info, void *user_data);
static bool app_info_cb(package_info_app_component_type_e comp_type, const char *app_id, void *user_data);
+ DatabaseManager __dbManager;
+
public:
app_db_initializer();
~app_db_initializer();
#include <glib.h>
#include <Json.h>
#include <types_internal.h>
-#include <db_mgr.h>
+#include <DatabaseManager.h>
#include "app_stats_types.h"
#include "install_monitor.h"
bool ctx::app_install_monitor::app_info_cb(package_info_app_component_type_e comp_type, const char *app_id, void *user_data)
{
+ DatabaseManager dbManager;
+
if (last_event_type == PACKAGE_MANAGER_EVENT_TYPE_INSTALL) {
Json data;
data.set(NULL, STATS_APP_ID, app_id);
- db_manager::insert(0, APP_TABLE_REMOVABLE_APP, data, NULL);
+ dbManager.insert(0, APP_TABLE_REMOVABLE_APP, data, NULL);
} else if (last_event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) {
- db_manager::execute(0, create_deletion_query(APP_TABLE_REMOVABLE_APP, app_id).c_str(), NULL);
- db_manager::execute(0, create_deletion_query(APP_TABLE_USAGE_LOG, app_id).c_str(), NULL);
+ dbManager.execute(0, create_deletion_query(APP_TABLE_REMOVABLE_APP, app_id).c_str(), NULL);
+ dbManager.execute(0, create_deletion_query(APP_TABLE_USAGE_LOG, app_id).c_str(), NULL);
}
return true;
#define __CONTEXT_APP_INSTALL_MONITOR_H__
#include <package_manager.h>
-#include <db_listener_iface.h>
namespace ctx {
- class app_install_monitor : public db_listener_iface {
+ class app_install_monitor : public IDatabaseListener {
private:
package_manager_h pkgmgr_h;
bool start_monitoring();
void stop_monitoring();
- void on_creation_result_received(unsigned int query_id, int error) {}
- void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id) {}
- void on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records) {}
+ void onTableCreated(unsigned int query_id, int error) {}
+ void onInserted(unsigned int query_id, int error, int64_t row_id) {}
+ void onExecuted(unsigned int query_id, int error, std::vector<Json>& records) {}
static std::string create_deletion_query(const char* table_name, const char* app_id);
static void package_event_cb(const char *type, const char *package, package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, package_manager_error_e error, void *user_data);
#include <sstream>
#include <types_internal.h>
#include <ContextManager.h>
-#include <db_mgr.h>
#include "../shared/system_info.h"
#include "media_stats_types.h"
#include "db_handle.h"
#include <time.h>
#include <types_internal.h>
-#include <db_mgr.h>
#include "../shared/system_info.h"
#include "media_stats_types.h"
#include "db_handle.h"
: started(false)
, last_cleanup_time(0)
{
- db_manager::create_table(0, MEDIA_TABLE_NAME, MEDIA_TABLE_COLUMNS, NULL, NULL);
- db_manager::execute(0, MEDIA_PLAYCOUNT_TABLE_SCHEMA, NULL);
+ __dbManager.createTable(0, MEDIA_TABLE_NAME, MEDIA_TABLE_COLUMNS, NULL, NULL);
+ __dbManager.execute(0, MEDIA_PLAYCOUNT_TABLE_SCHEMA, NULL);
started = start_monitoring();
}
"SELECT MediaType FROM Log_MediaPlayCount" \
" WHERE UUID = '" << uuid << "' AND Diff > 0;";
- db_manager::execute(0, query.str().c_str(), this);
+ __dbManager.execute(0, query.str().c_str(), this);
}
-void ctx::media_content_monitor::on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records)
+void ctx::media_content_monitor::onExecuted(unsigned int query_id, int error, std::vector<Json>& records)
{
IF_FAIL_VOID(!records.empty());
data.set(NULL, STATS_MEDIA_VOLUME, media_volume);
}
- db_manager::insert(0, MEDIA_TABLE_NAME, data, NULL);
+ __dbManager.insert(0, MEDIA_TABLE_NAME, data, NULL);
}
#include <sstream>
#include <media_content.h>
-#include <db_listener_iface.h>
+#include <DatabaseManager.h>
namespace ctx {
- class media_content_monitor : public db_listener_iface {
+ class media_content_monitor : public IDatabaseListener {
private:
bool started;
int last_cleanup_time;
+ DatabaseManager __dbManager;
bool start_monitoring();
void stop_monitoring();
void update_play_count(const char *uuid, int type, int count);
void insert_log(int media_type);
- void on_creation_result_received(unsigned int query_id, int error) {}
- void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id) {}
- void on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records);
+ void onTableCreated(unsigned int query_id, int error) {}
+ void onInserted(unsigned int query_id, int error, int64_t row_id) {}
+ void onExecuted(unsigned int query_id, int error, std::vector<Json>& records);
static void on_media_content_db_updated(media_content_error_e error, int pid,
media_content_db_update_item_type_e update_item,
#include <sstream>
#include <types_internal.h>
#include <ContextManager.h>
-#include <db_mgr.h>
#include "common_types.h"
#include "db_handle_base.h"
bool ctx::stats_db_handle_base::execute_query(const char* subject, ctx::Json filter, const char* query)
{
- bool ret = db_manager::execute(generate_qid(), query, this);
+ bool ret = __dbManager.execute(generate_qid(), query, this);
IF_FAIL_RETURN(ret, false);
req_subject = subject;
return query.str();
}
-void ctx::stats_db_handle_base::on_creation_result_received(unsigned int query_id, int error)
+void ctx::stats_db_handle_base::onTableCreated(unsigned int query_id, int error)
{
}
-void ctx::stats_db_handle_base::on_insertion_result_received(unsigned int query_id, int error, int64_t row_id)
+void ctx::stats_db_handle_base::onInserted(unsigned int query_id, int error, int64_t row_id)
{
delete this;
}
}
}
-void ctx::stats_db_handle_base::on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records)
+void ctx::stats_db_handle_base::onExecuted(unsigned int query_id, int error, std::vector<Json>& records)
{
if (is_trigger_item) {
if (records.size() == 1) {
#include <string>
#include <Json.h>
-#include <db_listener_iface.h>
+#include <DatabaseManager.h>
namespace ctx {
- class stats_db_handle_base : public db_listener_iface {
+ class stats_db_handle_base : public IDatabaseListener {
protected:
bool is_trigger_item;
std::string req_subject;
ctx::Json req_filter;
+ DatabaseManager __dbManager;
stats_db_handle_base();
~stats_db_handle_base();
private:
void json_vector_to_array(std::vector<Json> &vec_json, ctx::Json &json_result);
- void on_creation_result_received(unsigned int query_id, int error);
- void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id);
- void on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records);
+ void onTableCreated(unsigned int query_id, int error);
+ void onInserted(unsigned int query_id, int error, int64_t row_id);
+ void onExecuted(unsigned int query_id, int error, std::vector<Json>& records);
};
}
#include <contacts.h>
#include <types_internal.h>
#include <ContextManager.h>
-#include <db_mgr.h>
#include "social_stats_types.h"
#include "db_handle.h"
#include <sstream>
#include <Json.h>
-#include <db_mgr.h>
#include <types_internal.h>
#include "social_stats_types.h"
#include "log_aggregator.h"
static bool done = false;
IF_FAIL_VOID(!done);
- db_manager::create_table(0, SOCIAL_TABLE_CONTACT_LOG, SOCIAL_TABLE_CONTACT_LOG_COLUMNS, NULL, NULL);
- db_manager::execute(0, SOCIAL_TEMP_CONTACT_FREQ_SQL, NULL);
+ __dbManager.createTable(0, SOCIAL_TABLE_CONTACT_LOG, SOCIAL_TABLE_CONTACT_LOG_COLUMNS, NULL, NULL);
+ __dbManager.execute(0, SOCIAL_TEMP_CONTACT_FREQ_SQL, NULL);
done = true;
}
void ctx::contact_log_aggregator::aggregate_contact_log()
{
- db_manager::execute(0,
+ __dbManager.execute(0,
"SELECT IFNULL(MAX(" STATS_UNIV_TIME "),0) AS " STATS_LAST_TIME \
", (strftime('%s', 'now', 'localtime')) - (strftime('%s', 'now')) AS " TIME_DIFFERENCE \
" FROM " SOCIAL_TABLE_CONTACT_LOG, this);
}
-void ctx::contact_log_aggregator::on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records)
+void ctx::contact_log_aggregator::onExecuted(unsigned int query_id, int error, std::vector<Json>& records)
{
IF_FAIL_VOID_TAG(!records.empty(), _E, "Invalid query result");
data.set(NULL, STATS_UNIV_TIME, accesstime);
data.set(NULL, STATS_LOCAL_TIME, accesstime + time_diff);
- db_manager::insert(0, SOCIAL_TABLE_CONTACT_LOG, data, NULL);
+ __dbManager.insert(0, SOCIAL_TABLE_CONTACT_LOG, data, NULL);
} while(contacts_list_next(list) == CONTACTS_ERROR_NONE);
}
std::stringstream query;
query << "DELETE FROM " SOCIAL_TABLE_CONTACT_LOG " WHERE " \
STATS_UNIV_TIME " < strftime('%s', 'now') - " << LOG_RETENTION_PERIOD;
- db_manager::execute(0, query.str().c_str(), NULL);
+ __dbManager.execute(0, query.str().c_str(), NULL);
}
#define __CONTEXT_SOCIAL_CONTACT_LOG_AGGREGATOR_H__
#include <contacts.h>
-#include <db_listener_iface.h>
+#include <DatabaseManager.h>
#include <TimerManager.h>
namespace ctx {
- class contact_log_aggregator : public db_listener_iface, public ITimerListener {
+ class contact_log_aggregator : public IDatabaseListener, public ITimerListener {
private:
int timer_id;
int time_diff;
TimerManager __timerManager;
+ DatabaseManager __dbManager;
+
void create_table();
void get_updated_contact_log_list(int last_time, contacts_list_h *list);
void insert_contact_log_list(contacts_list_h list);
void aggregate_contact_log();
- void on_creation_result_received(unsigned int query_id, int error) {}
- void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id) {}
- void on_query_result_received(unsigned int query_id, int error, std::vector<Json>& records);
+ void onTableCreated(unsigned int queryId, int error) {}
+ void onInserted(unsigned int queryId, int error, int64_t rowId) {}
+ void onExecuted(unsigned int query_id, int error, std::vector<Json>& records);
bool onTimerExpired(int timer_id);
}; /* class phone_contact_log_aggregator */