summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2020-04-28 13:46:19 +0300
committerGeorge Hazan <ghazan@miranda.im>2020-04-28 13:46:19 +0300
commite4082ab57edbb790f721fed477532f93ff1986b8 (patch)
treea6f09b2ae1d0df1a47dec13b1ea096bfa782e9c5 /src
parent5402e71b923712624d6df9aad6f3983ba4e44f4e (diff)
database:
- namespace DB declared for commonly used database classes; - stubs for database event cursors; - code cleaning
Diffstat (limited to 'src')
-rw-r--r--src/mir_app/src/MDatabaseCommon.cpp13
-rw-r--r--src/mir_app/src/db_events.cpp10
-rw-r--r--src/mir_app/src/mir_app.def34
-rw-r--r--src/mir_app/src/mir_app64.def34
-rw-r--r--src/mir_core/src/db.cpp10
-rw-r--r--src/mir_core/src/mir_core.def8
-rw-r--r--src/mir_core/src/mir_core64.def8
7 files changed, 80 insertions, 37 deletions
diff --git a/src/mir_app/src/MDatabaseCommon.cpp b/src/mir_app/src/MDatabaseCommon.cpp
index 72c69662ce..1e768ffa5f 100644
--- a/src/mir_app/src/MDatabaseCommon.cpp
+++ b/src/mir_app/src/MDatabaseCommon.cpp
@@ -353,3 +353,16 @@ STDMETHODIMP_(BOOL) MDatabaseCommon::SetSettingResident(BOOL bIsResident, const
return 0;
}
+
+/////////////////////////////////////////////////////////////////////////////////////////
+// Event cursors
+
+STDMETHODIMP_(DB::EventCursor *) MDatabaseCommon::EventCursor(MCONTACT, DBEVENTINFO &)
+{
+ return nullptr;
+}
+
+STDMETHODIMP_(DB::EventCursor *) MDatabaseCommon::EventCursorRev(MCONTACT, DBEVENTINFO &)
+{
+ return nullptr;
+}
diff --git a/src/mir_app/src/db_events.cpp b/src/mir_app/src/db_events.cpp
index d1be5e3276..3776f8c029 100644
--- a/src/mir_app/src/db_events.cpp
+++ b/src/mir_app/src/db_events.cpp
@@ -111,7 +111,7 @@ static INT_PTR DbEventGetTextWorker(DBEVENTINFO *dbei, int codepage, int datatyp
return 0;
if (dbei->eventType == EVENTTYPE_AUTHREQUEST || dbei->eventType == EVENTTYPE_ADDED) {
- DB_AUTH_BLOB blob(dbei->pBlob);
+ DB::AUTH_BLOB blob(dbei->pBlob);
ptrW tszNick(dbei->getString(blob.get_nick()));
ptrW tszFirst(dbei->getString(blob.get_firstName()));
@@ -263,7 +263,7 @@ MIR_APP_DLL(wchar_t*) DbEvent_GetString(DBEVENTINFO *dbei, const char *str)
/////////////////////////////////////////////////////////////////////////////////////////
-DB_AUTH_BLOB::DB_AUTH_BLOB(MCONTACT hContact, LPCSTR nick, LPCSTR fname, LPCSTR lname, LPCSTR email, LPCSTR reason) :
+DB::AUTH_BLOB::AUTH_BLOB(MCONTACT hContact, LPCSTR nick, LPCSTR fname, LPCSTR lname, LPCSTR email, LPCSTR reason) :
m_dwUin(0),
m_hContact(hContact),
m_szNick(mir_strdup(nick)),
@@ -275,7 +275,7 @@ DB_AUTH_BLOB::DB_AUTH_BLOB(MCONTACT hContact, LPCSTR nick, LPCSTR fname, LPCSTR
m_size = DWORD(sizeof(DWORD) * 2 + 5 + mir_strlen(m_szNick) + mir_strlen(m_szFirstName) + mir_strlen(m_szLastName) + mir_strlen(m_szEmail) + mir_strlen(m_szReason));
}
-DB_AUTH_BLOB::DB_AUTH_BLOB(PBYTE blob)
+DB::AUTH_BLOB::AUTH_BLOB(PBYTE blob)
{
PBYTE pCurBlob = blob;
m_dwUin = *(PDWORD)pCurBlob;
@@ -290,11 +290,11 @@ DB_AUTH_BLOB::DB_AUTH_BLOB(PBYTE blob)
m_size = DWORD(pCurBlob - blob);
}
-DB_AUTH_BLOB::~DB_AUTH_BLOB()
+DB::AUTH_BLOB::~AUTH_BLOB()
{
}
-PBYTE DB_AUTH_BLOB::makeBlob()
+PBYTE DB::AUTH_BLOB::makeBlob()
{
PBYTE pBlob, pCurBlob;
pCurBlob = pBlob = (PBYTE)mir_alloc(m_size + 1);
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def
index 2178f81f32..200a784b75 100644
--- a/src/mir_app/src/mir_app.def
+++ b/src/mir_app/src/mir_app.def
@@ -311,25 +311,25 @@ Netlib_SetHttpProxyInfo @380
Netlib_DestroySecurityProvider @381
Netlib_InitSecurityProvider @382
Netlib_NtlmCreateResponse @383
-??0DB_AUTH_BLOB@@QAE@IPBD0000@Z @384 NONAME
-??0DB_AUTH_BLOB@@QAE@PAE@Z @385 NONAME
-??1DB_AUTH_BLOB@@QAE@XZ @386 NONAME
-??4DB_AUTH_BLOB@@QAEAAV0@ABV0@@Z @387 NONAME
-??BDB_AUTH_BLOB@@QAEPADXZ @388 NONAME
-??BDB_AUTH_BLOB@@QAEPAEXZ @389 NONAME
-?get_contact@DB_AUTH_BLOB@@QBEIXZ @390 NONAME
-?get_email@DB_AUTH_BLOB@@QBEPBDXZ @391 NONAME
-?get_firstName@DB_AUTH_BLOB@@QBEPBDXZ @392 NONAME
-?get_lastName@DB_AUTH_BLOB@@QBEPBDXZ @393 NONAME
-?get_nick@DB_AUTH_BLOB@@QBEPBDXZ @394 NONAME
-?get_reason@DB_AUTH_BLOB@@QBEPBDXZ @395 NONAME
-?get_uin@DB_AUTH_BLOB@@QBEKXZ @396 NONAME
-?makeBlob@DB_AUTH_BLOB@@AAEPAEXZ @397 NONAME
-?size@DB_AUTH_BLOB@@QBEKXZ @398 NONAME
+??0AUTH_BLOB@DB@@QAE@IPBD0000@Z @384 NONAME
+??0AUTH_BLOB@DB@@QAE@PAE@Z @385 NONAME
+??1AUTH_BLOB@DB@@QAE@XZ @386 NONAME
+??4AUTH_BLOB@DB@@QAEAAV01@ABV01@@Z @387 NONAME
+??BAUTH_BLOB@DB@@QAEPADXZ @388 NONAME
+??BAUTH_BLOB@DB@@QAEPAEXZ @389 NONAME
+?get_contact@AUTH_BLOB@DB@@QBEIXZ @390 NONAME
+?get_email@AUTH_BLOB@DB@@QBEPBDXZ @391 NONAME
+?get_firstName@AUTH_BLOB@DB@@QBEPBDXZ @392 NONAME
+?get_lastName@AUTH_BLOB@DB@@QBEPBDXZ @393 NONAME
+?get_nick@AUTH_BLOB@DB@@QBEPBDXZ @394 NONAME
+?get_reason@AUTH_BLOB@DB@@QBEPBDXZ @395 NONAME
+?get_uin@AUTH_BLOB@DB@@QBEKXZ @396 NONAME
+?makeBlob@AUTH_BLOB@DB@@AAEPAEXZ @397 NONAME
+?size@AUTH_BLOB@DB@@QBEKXZ @398 NONAME
Chat_UnescapeTags @399 NONAME
ProtoGetAvatarFormatByMimeType @400
ProtoGetAvatarMimeType @401
-?set_uin@DB_AUTH_BLOB@@QAEXK@Z @402 NONAME
+?set_uin@AUTH_BLOB@DB@@QAEXK@Z @402 NONAME
??0CSrmmBaseDialog@@IAE@AAVCMPluginBase@@HPAUSESSION_INFO@@@Z @403 NONAME
Miranda_GetSystemWindow @404 NONAME
??1CSrmmBaseDialog@@UAE@XZ @405 NONAME
@@ -732,3 +732,5 @@ ProtoBroadcastAsync @814 NONAME
?UseGroups@Clist@@3V?$CMOption@_N@@A @819 NONAME
?OfflineModes@Clist@@3V?$CMOption@K@@A @820 NONAME
?getChat@CSrmmBaseDialog@@QBEPAUSESSION_INFO@@XZ @821 NONAME
+?EventCursor@MDatabaseCommon@@UAGPAVEventCursorBase@DB@@IAAUDBEVENTINFO@@@Z @822 NONAME
+?EventCursorRev@MDatabaseCommon@@UAGPAVEventCursorBase@DB@@IAAUDBEVENTINFO@@@Z @823 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def
index 8fd8b69cbe..50105e6a82 100644
--- a/src/mir_app/src/mir_app64.def
+++ b/src/mir_app/src/mir_app64.def
@@ -311,25 +311,25 @@ Netlib_SetHttpProxyInfo @380
Netlib_DestroySecurityProvider @381
Netlib_InitSecurityProvider @382
Netlib_NtlmCreateResponse @383
-??0DB_AUTH_BLOB@@QEAA@IPEBD0000@Z @384 NONAME
-??0DB_AUTH_BLOB@@QEAA@PEAE@Z @385 NONAME
-??1DB_AUTH_BLOB@@QEAA@XZ @386 NONAME
-??4DB_AUTH_BLOB@@QEAAAEAV0@AEBV0@@Z @387 NONAME
-??BDB_AUTH_BLOB@@QEAAPEADXZ @388 NONAME
-??BDB_AUTH_BLOB@@QEAAPEAEXZ @389 NONAME
-?get_contact@DB_AUTH_BLOB@@QEBAIXZ @390 NONAME
-?get_email@DB_AUTH_BLOB@@QEBAPEBDXZ @391 NONAME
-?get_firstName@DB_AUTH_BLOB@@QEBAPEBDXZ @392 NONAME
-?get_lastName@DB_AUTH_BLOB@@QEBAPEBDXZ @393 NONAME
-?get_nick@DB_AUTH_BLOB@@QEBAPEBDXZ @394 NONAME
-?get_reason@DB_AUTH_BLOB@@QEBAPEBDXZ @395 NONAME
-?get_uin@DB_AUTH_BLOB@@QEBAKXZ @396 NONAME
-?makeBlob@DB_AUTH_BLOB@@AEAAPEAEXZ @397 NONAME
-?size@DB_AUTH_BLOB@@QEBAKXZ @398 NONAME
+??0AUTH_BLOB@DB@@QEAA@IPEBD0000@Z @384 NONAME
+??0AUTH_BLOB@DB@@QEAA@PEAE@Z @385 NONAME
+??1AUTH_BLOB@DB@@QEAA@XZ @386 NONAME
+??4AUTH_BLOB@DB@@QEAAAEAV01@AEBV01@@Z @387 NONAME
+??BAUTH_BLOB@DB@@QEAAPEADXZ @388 NONAME
+??BAUTH_BLOB@DB@@QEAAPEAEXZ @389 NONAME
+?get_contact@AUTH_BLOB@DB@@QEBAIXZ @390 NONAME
+?get_email@AUTH_BLOB@DB@@QEBAPEBDXZ @391 NONAME
+?get_firstName@AUTH_BLOB@DB@@QEBAPEBDXZ @392 NONAME
+?get_lastName@AUTH_BLOB@DB@@QEBAPEBDXZ @393 NONAME
+?get_nick@AUTH_BLOB@DB@@QEBAPEBDXZ @394 NONAME
+?get_reason@AUTH_BLOB@DB@@QEBAPEBDXZ @395 NONAME
+?get_uin@AUTH_BLOB@DB@@QEBAKXZ @396 NONAME
+?makeBlob@AUTH_BLOB@DB@@AEAAPEAEXZ @397 NONAME
+?size@AUTH_BLOB@DB@@QEBAKXZ @398 NONAME
Chat_UnescapeTags @399 NONAME
ProtoGetAvatarFormatByMimeType @400
ProtoGetAvatarMimeType @401
-?set_uin@DB_AUTH_BLOB@@QEAAXK@Z @402 NONAME
+?set_uin@AUTH_BLOB@DB@@QEAAXK@Z @402 NONAME
??0CSrmmBaseDialog@@IEAA@AEAVCMPluginBase@@HPEAUSESSION_INFO@@@Z @403 NONAME
Miranda_GetSystemWindow @404 NONAME
??1CSrmmBaseDialog@@UEAA@XZ @405 NONAME
@@ -732,3 +732,5 @@ ProtoBroadcastAsync @814 NONAME
?UseGroups@Clist@@3V?$CMOption@_N@@A @819 NONAME
?OfflineModes@Clist@@3V?$CMOption@K@@A @820 NONAME
?getChat@CSrmmBaseDialog@@QEBAPEAUSESSION_INFO@@XZ @821 NONAME
+?EventCursor@MDatabaseCommon@@UEAAPEAVEventCursorBase@DB@@IAEAUDBEVENTINFO@@@Z @822 NONAME
+?EventCursorRev@MDatabaseCommon@@UEAAPEAVEventCursorBase@DB@@IAEAUDBEVENTINFO@@@Z @823 NONAME
diff --git a/src/mir_core/src/db.cpp b/src/mir_core/src/db.cpp
index b6b2eba075..e000b647e1 100644
--- a/src/mir_core/src/db.cpp
+++ b/src/mir_core/src/db.cpp
@@ -436,6 +436,16 @@ MIR_CORE_DLL(MEVENT) db_event_setId(const char *szModule, MEVENT hDbEvent, const
return (currDb == nullptr) ? 0 : currDb->SetEventId(szModule, hDbEvent, szId);
}
+MIR_CORE_DLL(DB::EventCursor*) DB::Events(MCONTACT hContact, DBEVENTINFO &dbei)
+{
+ return (currDb == nullptr) ? 0 : currDb->EventCursor(hContact, dbei);
+}
+
+MIR_CORE_DLL(DB::EventCursor*) DB::EventsRev(MCONTACT hContact, DBEVENTINFO &dbei)
+{
+ return (currDb == nullptr) ? 0 : currDb->EventCursorRev(hContact, dbei);
+}
+
/////////////////////////////////////////////////////////////////////////////////////////
// misc functions
diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def
index 762ddcc9be..3c49913455 100644
--- a/src/mir_core/src/mir_core.def
+++ b/src/mir_core/src/mir_core.def
@@ -1457,3 +1457,11 @@ XmlGetChildText @1645
?InsertNewDeclaration@XMLElement@tinyxml2@@QAEPAVXMLDeclaration@2@PBD@Z @1679 NONAME
?InsertNewText@XMLElement@tinyxml2@@QAEPAVXMLText@2@PBD@Z @1680 NONAME
?InsertNewUnknown@XMLElement@tinyxml2@@QAEPAVXMLUnknown@2@PBD@Z @1681 NONAME
+??0EventCursorBase@DB@@QAE@$$QAV01@@Z @1684 NONAME
+??0EventCursorBase@DB@@QAE@ABV01@@Z @1685 NONAME
+??0EventCursorBase@DB@@QAE@IAAUDBEVENTINFO@@@Z @1686 NONAME
+??_7EventCursorBase@DB@@6B@ @1687 NONAME
+?Events@DB@@YGPAVEventCursorBase@1@IAAUDBEVENTINFO@@@Z @1688 NONAME
+?EventsRev@DB@@YGPAVEventCursorBase@1@IAAUDBEVENTINFO@@@Z @1689 NONAME
+?begin@EventCursorBase@DB@@QAEIXZ @1690 NONAME
+?end@EventCursorBase@DB@@QAEIXZ @1691 NONAME
diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def
index d7090d5360..e46be88bc5 100644
--- a/src/mir_core/src/mir_core64.def
+++ b/src/mir_core/src/mir_core64.def
@@ -1457,3 +1457,11 @@ XmlGetChildText @1645
?InsertNewDeclaration@XMLElement@tinyxml2@@QEAAPEAVXMLDeclaration@2@PEBD@Z @1679 NONAME
?InsertNewText@XMLElement@tinyxml2@@QEAAPEAVXMLText@2@PEBD@Z @1680 NONAME
?InsertNewUnknown@XMLElement@tinyxml2@@QEAAPEAVXMLUnknown@2@PEBD@Z @1681 NONAME
+??0EventCursorBase@DB@@QEAA@$$QEAV01@@Z @1684 NONAME
+??0EventCursorBase@DB@@QEAA@AEBV01@@Z @1685 NONAME
+??0EventCursorBase@DB@@QEAA@IAEAUDBEVENTINFO@@@Z @1686 NONAME
+??_7EventCursorBase@DB@@6B@ @1687 NONAME
+?Events@DB@@YAPEAVEventCursorBase@1@IAEAUDBEVENTINFO@@@Z @1688 NONAME
+?EventsRev@DB@@YAPEAVEventCursorBase@1@IAEAUDBEVENTINFO@@@Z @1689 NONAME
+?begin@EventCursorBase@DB@@QEAAIXZ @1690 NONAME
+?end@EventCursorBase@DB@@QEAAIXZ @1691 NONAME