// add contact in the list of secureIM users pUinKey addContact(HANDLE hContact) { if (hContact == NULL) return NULL; pSupPro proto = getSupPro(hContact); if (proto == NULL) return NULL; pUinKey p = (pUinKey)mir_calloc(sizeof(UinKey)); p->header = HEADER; p->footer = FOOTER; p->hContact = hContact; p->proto = proto; p->mode = db_get_b(hContact, MODULENAME, "mode", 99); if (p->mode == 99) { if (isContactPGP(hContact)) p->mode = MODE_PGP; else p->mode = isContactGPG(hContact) ? MODE_GPG : MODE_RSAAES; db_set_b(hContact, MODULENAME, "mode", p->mode); } p->status = db_get_b(hContact, MODULENAME, "StatusID", STATUS_ENABLED); p->gpgMode = db_get_b(hContact, MODULENAME, "gpgANSI", 0); arClist.insert(p); return p; }
BOOL isSecureProtocol(HANDLE hContact) { pSupPro ptr = getSupPro(hContact); if(!ptr) return false; return ptr->inspecting; }
void getContactUinA(HANDLE hContact, LPSTR szUIN) { *szUIN = 0; pSupPro ptr = getSupPro(hContact); if (!ptr) return; DBVARIANT dbv_uniqueid; LPSTR uID = (LPSTR) CallProtoService(ptr->name, PS_GETCAPS, PFLAG_UNIQUEIDSETTING, 0); if (uID == (LPSTR)CALLSERVICE_NOTFOUND ) uID = 0; // Billy_Bons if (uID && db_get(hContact, ptr->name, uID, &dbv_uniqueid) == 0) { if (dbv_uniqueid.type == DBVT_WORD) sprintf(szUIN, "%u [%s]", dbv_uniqueid.wVal, ptr->name); //!!!!!!!!!!! else if (dbv_uniqueid.type == DBVT_DWORD) sprintf(szUIN, "%u [%s]", (UINT)dbv_uniqueid.dVal, ptr->name); //!!!!!!!!!!! else if (dbv_uniqueid.type == DBVT_BLOB) sprintf(szUIN, "%s [%s]", dbv_uniqueid.pbVal, ptr->name); //!!!!!!!!!!! else sprintf(szUIN, "%s [%s]", dbv_uniqueid.pszVal, ptr->name); //!!!!!!!!!!! } else strcpy(szUIN, " == = unknown == ="); db_free(&dbv_uniqueid); }
int getContactStatus(HANDLE hContact) { pSupPro ptr = getSupPro(hContact); if (ptr) return DBGetContactSettingWord(hContact, ptr->name, "Status", ID_STATUS_OFFLINE); return -1; }