void __cdecl GGPROTO::sendackthread(void *ack) { gg_sleep(100, FALSE, "sendackthread", 105, 1); ProtoBroadcastAck(((GG_SEQ_ACK *)ack)->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, (HANDLE) ((GG_SEQ_ACK *)ack)->seq, 0); mir_free(ack); }
void __cdecl GGPROTO::cmdgetinfothread(void *hContact) { debugLogA("cmdgetinfothread(): started. Failed info retreival."); gg_sleep(100, FALSE, "cmdgetinfothread", 103, 1); ProtoBroadcastAck(hContact, ACKTYPE_GETINFO, ACKRESULT_FAILED, (HANDLE) 1, 0); debugLogA("cmdgetinfothread(): end."); }
void __cdecl GGPROTO::ftfailthread(void *param) { struct ftfaildata *ft = (struct ftfaildata *)param; debugLogA("ftfailthread(): started. Sending failed file transfer."); gg_sleep(100, FALSE, "ftfailthread", 102, 1); ProtoBroadcastAck(ft->hContact, ACKTYPE_FILE, ACKRESULT_FAILED, ft->hProcess, 0); free(ft); debugLogA("ftfailthread(): end."); }
void __cdecl GGPROTO::searchthread(void *) { debugLogA("searchthread(): started. Failed search."); gg_sleep(100, FALSE, "searchthread", 104, 1); ProtoBroadcastAck(NULL, ACKTYPE_SEARCH, ACKRESULT_FAILED, (HANDLE)1, 0); #ifdef DEBUGMODE debugLogA("searchthread(): end."); #endif }
void __cdecl GGPROTO::getawaymsgthread(void *hContact) { DBVARIANT dbv; debugLogA("getawaymsgthread(): started"); gg_sleep(100, FALSE, "getawaymsgthread", 106, 1); if (!db_get_s(hContact, "CList", GG_KEY_STATUSDESCR, &dbv, DBVT_TCHAR)) { ProtoBroadcastAck(hContact, ACKTYPE_AWAYMSG, ACKRESULT_SUCCESS, (HANDLE) 1, (LPARAM) dbv.ptszVal); debugLog(_T("getawaymsgthread(): Reading away msg <%s>."), dbv.ptszVal); db_free(&dbv); } else { ProtoBroadcastAck(hContact, ACKTYPE_AWAYMSG, ACKRESULT_SUCCESS, (HANDLE) 1, (LPARAM) NULL); } debugLogA("getawaymsgthread(): end"); }