From 6b91af6235cbd8643c7c63e07ceb23f1b13e8a8f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 27 Apr 2018 14:11:18 +0200 Subject: implementation of #1308 --- src/mir_app/src/mir_app.def | 8 ++++++++ src/mir_app/src/mir_app64.def | 8 ++++++++ src/mir_core/src/db.cpp | 24 ++++++++++++++++++++++++ src/mir_core/src/mir_core.def | 2 ++ src/mir_core/src/mir_core64.def | 2 ++ 5 files changed, 44 insertions(+) (limited to 'src') diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index aeaf4a8748..8361e8c9ae 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -586,3 +586,11 @@ Contact_GetStatus @609 ?OnContactDeleted@PROTO_INTERFACE@@UAEXI@Z @610 NONAME ?OnBuildProtoMenu@PROTO_INTERFACE@@UAEXXZ @611 NONAME ?OnErase@PROTO_INTERFACE@@UAEXXZ @612 NONAME +?getMStringA@CMPluginBase@@QAE?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPBD@Z @613 NONAME +?getMStringA@CMPluginBase@@QAE?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@PBD@Z @614 NONAME +?getMStringA@PROTO_INTERFACE@@QAE?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPBD@Z @615 NONAME +?getMStringA@PROTO_INTERFACE@@QAE?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@PBD@Z @616 NONAME +?getMStringW@CMPluginBase@@QAE?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPBD@Z @617 NONAME +?getMStringW@CMPluginBase@@QAE?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@PBD@Z @618 NONAME +?getMStringW@PROTO_INTERFACE@@QAE?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPBD@Z @619 NONAME +?getMStringW@PROTO_INTERFACE@@QAE?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@PBD@Z @620 NONAME diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index e6e57acbb1..e54f50ddcc 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -586,3 +586,11 @@ Contact_GetStatus @609 ?OnContactDeleted@PROTO_INTERFACE@@UEAAXI@Z @610 NONAME ?OnBuildProtoMenu@PROTO_INTERFACE@@UEAAXXZ @611 NONAME ?OnErase@PROTO_INTERFACE@@UEAAXXZ @612 NONAME +?getMStringA@CMPluginBase@@QEAA?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPEBD@Z @613 NONAME +?getMStringA@CMPluginBase@@QEAA?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@PEBD@Z @614 NONAME +?getMStringA@PROTO_INTERFACE@@QEAA?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPEBD@Z @615 NONAME +?getMStringA@PROTO_INTERFACE@@QEAA?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@PEBD@Z @616 NONAME +?getMStringW@CMPluginBase@@QEAA?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPEBD@Z @617 NONAME +?getMStringW@CMPluginBase@@QEAA?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@PEBD@Z @618 NONAME +?getMStringW@PROTO_INTERFACE@@QEAA?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPEBD@Z @619 NONAME +?getMStringW@PROTO_INTERFACE@@QEAA?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@PEBD@Z @620 NONAME diff --git a/src/mir_core/src/db.cpp b/src/mir_core/src/db.cpp index 1f20b42098..04efa68510 100644 --- a/src/mir_core/src/db.cpp +++ b/src/mir_core/src/db.cpp @@ -181,6 +181,30 @@ MIR_CORE_DLL(wchar_t*) db_get_wsa(MCONTACT hContact, const char *szModule, const return currDb->GetContactSettingStr(hContact, szModule, szSetting, &dbv) ? nullptr : dbv.pwszVal; } +MIR_CORE_DLL(CMStringA) db_get_sm(MCONTACT hContact, LPCSTR szModule, LPCSTR szSetting) +{ + if (currDb == nullptr) + return CMStringA(); + + DBVARIANT dbv = { DBVT_ASCIIZ }; + if (currDb->GetContactSettingStr(hContact, szModule, szSetting, &dbv)) + return CMStringA(); + + return CMStringA(ptrA(dbv.pszVal)); +} + +MIR_CORE_DLL(CMStringW) db_get_wsm(MCONTACT hContact, LPCSTR szModule, LPCSTR szSetting) +{ + if (currDb == nullptr) + return CMStringW(); + + DBVARIANT dbv = { DBVT_WCHAR }; + if (currDb->GetContactSettingStr(hContact, szModule, szSetting, &dbv)) + return CMStringW(); + + return CMStringW(ptrW(dbv.pwszVal)); +} + ///////////////////////////////////////////////////////////////////////////////////////// // getting static data diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def index 2d117035ea..6049e89761 100644 --- a/src/mir_core/src/mir_core.def +++ b/src/mir_core/src/mir_core.def @@ -1067,3 +1067,5 @@ IsTerminalDisconnected @1245 ??1CCtrlLabel@@UAE@XZ @1257 NONAME ??_7CCtrlLabel@@6B@ @1258 NONAME CallObjectEventHook @1259 +?db_get_sm@@YG?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPBD0@Z @1260 NONAME +?db_get_wsm@@YG?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPBD0@Z @1261 NONAME diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def index 98e8fb7ca2..a56134d62e 100644 --- a/src/mir_core/src/mir_core64.def +++ b/src/mir_core/src/mir_core64.def @@ -1067,3 +1067,5 @@ IsTerminalDisconnected @1245 ??1CCtrlLabel@@UEAA@XZ @1257 NONAME ??_7CCtrlLabel@@6B@ @1258 NONAME CallObjectEventHook @1259 +?db_get_sm@@YA?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPEBD0@Z @1260 NONAME +?db_get_wsm@@YA?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPEBD0@Z @1261 NONAME -- cgit v1.2.3