diff options
Diffstat (limited to 'protocols/VKontakte/src/misc.cpp')
-rw-r--r-- | protocols/VKontakte/src/misc.cpp | 20 |
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 |