summaryrefslogtreecommitdiff
path: root/protocols/VKontakte/src/misc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/VKontakte/src/misc.cpp')
-rw-r--r--protocols/VKontakte/src/misc.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp
index da01c8dbcc..845706004f 100644
--- a/protocols/VKontakte/src/misc.cpp
+++ b/protocols/VKontakte/src/misc.cpp
@@ -388,4 +388,24 @@ void CVkProto::DBAddAuthRequest(const MCONTACT hContact)
debugLogA("CVkProto::DBAddAuthRequest '%s'", szNick);
mir_free(szNick);
+}
+
+MCONTACT CVkProto::MContactFromDbEvent(HANDLE hDbEvent)
+{
+ if (!hDbEvent || !IsOnline())
+ return (MCONTACT)-1;
+
+ DWORD body[2];
+ DBEVENTINFO dbei = { sizeof(dbei) };
+ dbei.cbBlob = sizeof(DWORD) * 2;
+ dbei.pBlob = (PBYTE)&body;
+
+ if (db_event_get(hDbEvent, &dbei))
+ return (MCONTACT)-1;
+ if ((dbei.eventType != EVENTTYPE_AUTHREQUEST) || (strcmp(dbei.szModule, m_szModuleName)))
+ return (MCONTACT)-1;
+
+ MCONTACT hContact = DbGetAuthEventContact(&dbei);
+ db_unset(hContact, m_szModuleName, "ReqAuth");
+ return hContact;
} \ No newline at end of file