From 90ac4c689e1322b48f6ca53a0c8fff81daf73c9c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 10 Apr 2023 18:50:46 +0300 Subject: code cleaning --- src/mir_app/src/auth.cpp | 8 ++------ src/mir_app/src/chat_svc.cpp | 5 ++--- src/mir_app/src/db_events.cpp | 21 +++++++++++++++++++++ src/mir_app/src/mir_app.def | 3 +++ src/mir_app/src/mir_app64.def | 3 +++ src/mir_app/src/srmm_base.cpp | 5 ++--- 6 files changed, 33 insertions(+), 12 deletions(-) (limited to 'src/mir_app') diff --git a/src/mir_app/src/auth.cpp b/src/mir_app/src/auth.cpp index 0520c20a11..f49def1505 100644 --- a/src/mir_app/src/auth.cpp +++ b/src/mir_app/src/auth.cpp @@ -204,10 +204,7 @@ public: Button_SetSkin_IcoLib(m_hwnd, IDC_ADD, SKINICON_OTHER_ADDCONTACT, LPGEN("Add contact permanently to list")); // blob is: uin(uint32_t), hcontact(HANDLE), nick(ASCIIZ), first(ASCIIZ), last(ASCIIZ), email(ASCIIZ) - DB::EventInfo dbei; - dbei.cbBlob = -1; - db_event_get(m_hDbEvent, &dbei); - + DB::EventInfo dbei(m_hDbEvent); m_hContact = DbGetAuthEventContact(&dbei); uint32_t uin = *(uint32_t*)dbei.pBlob; @@ -306,8 +303,7 @@ static int AuthEventAdded(WPARAM, LPARAM lParam) wchar_t szTooltip[256]; MEVENT hDbEvent = (MEVENT)lParam; - DB::EventInfo dbei; - db_event_get(lParam, &dbei); + DB::EventInfo dbei(lParam); if (dbei.flags & (DBEF_SENT | DBEF_READ) || (dbei.eventType != EVENTTYPE_AUTHREQUEST && dbei.eventType != EVENTTYPE_ADDED)) return 0; diff --git a/src/mir_app/src/chat_svc.cpp b/src/mir_app/src/chat_svc.cpp index dd6a377106..e1257c5ea2 100644 --- a/src/mir_app/src/chat_svc.cpp +++ b/src/mir_app/src/chat_svc.cpp @@ -822,9 +822,8 @@ static int OnEventAdded(WPARAM hContact, LPARAM hDbEvent) if (Contact::IsGroupChat(hContact)) { if (auto *si = SM_FindSessionByContact(hContact)) { - DB::EventInfo dbei; - dbei.cbBlob = -1; - if (!db_event_get(hDbEvent, &dbei)) { + DB::EventInfo dbei(hDbEvent); + if (dbei) { auto *szProto = Proto_GetBaseAccountName(si->hContact); if (si && !mir_strcmp(szProto, dbei.szModule) && dbei.eventType == EVENTTYPE_MESSAGE && dbei.szUserId) { CMStringA szText((char *)dbei.pBlob); diff --git a/src/mir_app/src/db_events.cpp b/src/mir_app/src/db_events.cpp index b6bce698d4..f4153d6850 100644 --- a/src/mir_app/src/db_events.cpp +++ b/src/mir_app/src/db_events.cpp @@ -265,6 +265,27 @@ MIR_APP_DLL(wchar_t*) DbEvent_GetString(DBEVENTINFO *dbei, const char *str) ///////////////////////////////////////////////////////////////////////////////////////// +DB::EventInfo::EventInfo(MEVENT hEvent, bool bFetchBlob) +{ + memset(this, 0, sizeof(*this)); + if (bFetchBlob) + cbBlob = -1; + bValid = ::db_event_get(hEvent, this) == 0; +} + +DB::EventInfo::EventInfo() : + bValid(false) +{ + memset(this, 0, sizeof(*this)); +} + +DB::EventInfo::~EventInfo() +{ + mir_free(pBlob); +} + +///////////////////////////////////////////////////////////////////////////////////////// + DB::AUTH_BLOB::AUTH_BLOB(MCONTACT hContact, LPCSTR nick, LPCSTR fname, LPCSTR lname, LPCSTR email, LPCSTR reason) : m_dwUin(0), m_hContact(hContact), diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index c454bed1ca..a9fbe03f05 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -833,3 +833,6 @@ Chat_IsMuted @941 NONAME ?UpdateFilterButton@CSrmmBaseDialog@@UAEXXZ @948 NONAME ?Chat_SetFilters@@YGXPAUSESSION_INFO@@@Z @949 NONAME ?Chat_ReconfigureFilters@@YGXXZ @950 NONAME +??0EventInfo@DB@@QAE@I_N@Z @951 NONAME +??0EventInfo@DB@@QAE@XZ @952 NONAME +??1EventInfo@DB@@QAE@XZ @953 NONAME diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 1f447d3ff0..3785f6e784 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -833,3 +833,6 @@ Chat_IsMuted @941 NONAME ?UpdateFilterButton@CSrmmBaseDialog@@UEAAXXZ @948 NONAME ?Chat_SetFilters@@YAXPEAUSESSION_INFO@@@Z @949 NONAME ?Chat_ReconfigureFilters@@YAXXZ @950 NONAME +??0EventInfo@DB@@QEAA@I_N@Z @951 NONAME +??0EventInfo@DB@@QEAA@XZ @952 NONAME +??1EventInfo@DB@@QEAA@XZ @953 NONAME diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp index 1b3350552c..6e567643d6 100644 --- a/src/mir_app/src/srmm_base.cpp +++ b/src/mir_app/src/srmm_base.cpp @@ -660,9 +660,8 @@ void CSrmmBaseDialog::UpdateChatLog() auto *szProto = Proto_GetBaseAccountName(m_hContact); for (MEVENT hDbEvent = m_hDbEventFirst; hDbEvent; hDbEvent = db_event_next(m_hContact, hDbEvent)) { - DB::EventInfo dbei; - dbei.cbBlob = -1; - if (!db_event_get(hDbEvent, &dbei)) { + DB::EventInfo dbei(hDbEvent); + if (dbei) { if (!mir_strcmp(szProto, dbei.szModule) && dbei.eventType == EVENTTYPE_MESSAGE && dbei.szUserId) { auto *pUser = g_chatApi.UM_FindUser(m_si, Utf2T(dbei.szUserId)); if (pUser == nullptr) -- cgit v1.2.3