BOOL AuthAndOpen(HANDLE hUser, LPSTR url, LPSTR mailbox, LPSTR pwd) { ptrA authResp(MakeRequest(hUser, AUTH_REQUEST_URL, AUTH_REQUEST_PARAMS, mailbox, pwd)); if (!authResp) return FALSE; LPSTR LSID; LPSTR SID = FindSid(authResp, &LSID); ptrA tokenResp(MakeRequest(hUser, ISSUE_TOKEN_REQUEST_URL, ISSUE_TOKEN_REQUEST_PARAMS, SID, LSID)); if (!tokenResp) return FALSE; DoOpenUrl(tokenResp, url); return TRUE; }
BOOL AuthAndOpen(HANDLE hUser, LPSTR url, LPSTR mailbox, LPSTR pwd) { LPSTR authResp = MakeRequest(hUser, AUTH_REQUEST_URL, AUTH_REQUEST_PARAMS, mailbox, pwd); if (!authResp) return FALSE; __try { LPSTR LSID; LPSTR SID = FindSid(authResp, &LSID); LPSTR tokenResp = MakeRequest(hUser, ISSUE_TOKEN_REQUEST_URL, ISSUE_TOKEN_REQUEST_PARAMS, SID, LSID); if (!tokenResp) return FALSE; __try { DoOpenUrl(tokenResp, url); return TRUE; } __finally { free(tokenResp); } } __finally { free(authResp); } }