From 6467c770428700501110d76dfc4ce4ff276531e5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 24 Oct 2017 17:31:46 +0200 Subject: [PATCH] feat(MainDb): supports getHistory and getHistoryRange --- src/db/main-db.cpp | 12 +++--------- src/db/main-db.h | 2 +- tester/main-db-tester.cpp | 16 ++++++++++++++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index 732971b5a..df3d034c2 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -906,16 +906,10 @@ MainDb::MainDb () : AbstractDb(*new MainDbPrivate) {} } list> MainDb::getHistory (const string &peerAddress, int nLast, FilterMask mask) const { - if (!isConnected()) { - lWarning() << "Unable to get history. Not connected."; - return list>(); - } - - // TODO. - return list>(); + return getHistoryRange(peerAddress, 0, nLast - 1, mask); } - list> MainDb::getHistory ( + list> MainDb::getHistoryRange ( const string &peerAddress, int begin, int end, @@ -1228,7 +1222,7 @@ shared_ptr MainDb::findChatRoom (const string &peerAddress) const { return list>(); } - list> MainDb::getHistory (const string &, int, int, FilterMask) const { + list> MainDb::getHistoryRange (const string &, int, int, FilterMask) const { return list>(); } diff --git a/src/db/main-db.h b/src/db/main-db.h index 1d22ba3a5..7a0367a62 100644 --- a/src/db/main-db.h +++ b/src/db/main-db.h @@ -61,7 +61,7 @@ public: int nLast, FilterMask mask = NoFilter ) const; - std::list> getHistory ( + std::list> getHistoryRange ( const std::string &peerAddress, int begin, int end, diff --git a/tester/main-db-tester.cpp b/tester/main-db-tester.cpp index 2ab90d43e..8691b575c 100644 --- a/tester/main-db-tester.cpp +++ b/tester/main-db-tester.cpp @@ -68,17 +68,29 @@ static void get_history () { MainDb mainDb; BC_ASSERT_TRUE(mainDb.connect(MainDb::Sqlite3, getDatabasePath())); BC_ASSERT_EQUAL( - mainDb.getHistory("sip:test-39@sip.linphone.org", 0, -1, MainDb::Filter::ConferenceChatMessageFilter).size(), + mainDb.getHistoryRange("sip:test-39@sip.linphone.org", 0, -1, MainDb::Filter::ConferenceChatMessageFilter).size(), 3, int, "%d" ); BC_ASSERT_EQUAL( - mainDb.getHistory("sip:test-7@sip.linphone.org", 0, -1, MainDb::Filter::ConferenceCallFilter).size(), + mainDb.getHistoryRange("sip:test-7@sip.linphone.org", 0, -1, MainDb::Filter::ConferenceCallFilter).size(), 0, int, "%d" ); + BC_ASSERT_EQUAL( + mainDb.getHistoryRange("sip:test-1@sip.linphone.org", 0, -1, MainDb::Filter::ConferenceChatMessageFilter).size(), + 862, + int, + "%d" + ); + BC_ASSERT_EQUAL( + mainDb.getHistory("sip:test-1@sip.linphone.org", 100, MainDb::Filter::ConferenceChatMessageFilter).size(), + 100, + int, + "%d" + ); } test_t main_db_tests[] = {