diff options
author | George Hazan <ghazan@miranda.im> | 2021-01-07 18:09:54 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2021-01-07 18:09:54 +0300 |
commit | 5508a77c6103f979697dd72d5a72347a354d020d (patch) | |
tree | f2f5aeed9794a8e9dd57f4caae65e2a20d429ee3 /src/mir_app | |
parent | e26d06563851e85fa26c606a2577f81b4d7bef7c (diff) |
common code moved to the core
Diffstat (limited to 'src/mir_app')
-rw-r--r-- | src/mir_app/src/MDatabaseCommon.cpp | 20 | ||||
-rw-r--r-- | src/mir_app/src/mir_app.def | 1 | ||||
-rw-r--r-- | src/mir_app/src/mir_app64.def | 1 |
3 files changed, 22 insertions, 0 deletions
diff --git a/src/mir_app/src/MDatabaseCommon.cpp b/src/mir_app/src/MDatabaseCommon.cpp index 5e5feacd56..20abf51d35 100644 --- a/src/mir_app/src/MDatabaseCommon.cpp +++ b/src/mir_app/src/MDatabaseCommon.cpp @@ -61,6 +61,26 @@ int MDatabaseCommon::CheckProto(DBCachedContact *cc, const char *proto) return !mir_strcmp(cc->szProto, proto); } +void MDatabaseCommon::FillContactSettings() +{ + for (DBCachedContact *cc = m_cache->GetFirstContact(); cc; cc = m_cache->GetNextContact(cc->contactID)) { + CheckProto(cc, ""); + + DBVARIANT dbv; dbv.type = DBVT_DWORD; + cc->nSubs = (0 != GetContactSetting(cc->contactID, META_PROTO, "NumContacts", &dbv)) ? -1 : dbv.dVal; + if (cc->nSubs != -1) { + cc->pSubs = (MCONTACT*)mir_alloc(cc->nSubs * sizeof(MCONTACT)); + for (int k = 0; k < cc->nSubs; k++) { + char setting[100]; + mir_snprintf(setting, _countof(setting), "Handle%d", k); + cc->pSubs[k] = (0 != GetContactSetting(cc->contactID, META_PROTO, setting, &dbv)) ? 0 : dbv.dVal; + } + } + cc->nDefault = (0 != GetContactSetting(cc->contactID, META_PROTO, "Default", &dbv)) ? -1 : dbv.dVal; + cc->parentID = (0 != GetContactSetting(cc->contactID, META_PROTO, "ParentMeta", &dbv)) ? 0 : dbv.dVal; + } +} + bool MDatabaseCommon::LockName(const wchar_t *pwszProfileName) { if (m_hLock != nullptr) diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index fad6884348..d7ea30182d 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -751,3 +751,4 @@ _Netlib_GetTlsUnique@8 @831 NONAME ?SafeDeleteFile@PU@@YGHPB_W@Z @839 NONAME
?SafeMoveFile@PU@@YGHPB_W0@Z @840 NONAME
?FilterSearch@Clist@@3V?$CMOption@_N@@A @841 NONAME
+?FillContactSettings@MDatabaseCommon@@IAEXXZ @842 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 0378aaba7b..3ec5305738 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -751,3 +751,4 @@ Netlib_GetTlsUnique @831 NONAME ?SafeDeleteFile@PU@@YAHPEB_W@Z @839 NONAME
?SafeMoveFile@PU@@YAHPEB_W0@Z @840 NONAME
?FilterSearch@Clist@@3V?$CMOption@_N@@A @841 NONAME
+?FillContactSettings@MDatabaseCommon@@IEAAXXZ @842 NONAME
|