#ifndef WXHELPER_DB_H_ #define WXHELPER_DB_H_ #include #include #include "wechat_function.h" #include "windows.h" #include "singleton.h" namespace wxhelper { class DB :public Singleton{ public: void init(UINT64 base); int ExecuteSQL(UINT64 db, const char *sql, UINT64 callback, void *data); int Select(UINT64 db_hanle, const char *sql, std::vector> &query_result); std::vector GetDbHandles(); UINT64 GetDbHandleByDbName(wchar_t *dbname); INT64 GetLocalIdByMsgId(ULONG64 msgid, INT64 &dbIndex); std::vector GetChatMsgByMsgId(ULONG64 msgid); std::string GetVoiceBuffByMsgId(ULONG64 msgid); std::string GetPublicMsgCompressContentByMsgId(ULONG64 msgid); private: int SelectDataInner(UINT64 db, const char *sql, std::vector> &data); private: std::map dbmap_; std::vector dbs_; UINT64 base_addr_; }; } // namespace wxhelper #endif