W celu zarejestrowania konta lub zmiany hasła, należy pobrać z serwera token. Przy asynchronicznej operacji, po wywołaniu funkcji gg_token()
wynikową strukturę gg_http
należy traktować tak jak każde połączenie HTTP. Po zakończeniu operacji asynchronicznej (state
równe GG_STATE_DONE
) lub wyjściu z funkcji gg_token()
w operacji synchronicznej, w polu data
struktury będzie znajdował się wskaźnik na strukturą gg_token
zawierającą informacje o tokenie. W polu body
struktury gg_http
znajdzie się obrazek tokenu o rozmiarze body_size
. Aplikacja powinna wyświetlić token użytkownikowi w celu odczytania i przekazania treści, która następnie zostana przekazana do odpowiedniej funkcji wywołania usługi dodatkowej.
Przykład pobierania tokenu
FILE *f;
if (!token) {
błąd("Błąd pobierania tokenu");
exit(1);
}
plik = fopen(((
struct gg_token *) token->
data)->tokenid,
"w");
if (!plik) {
błąd("Błąd otwarcia pliku");
exit(1);
}
fclose(plik);
struct gg_http * gg_token(int async)
Pobiera token do autoryzacji operacji na katalogu publicznym.
Definition: pubdir.c:686
void gg_token_free(struct gg_http *h)
Zwalnia zasoby po operacji pobierania tokenu.
Definition: pubdir.c:868
Połączenie HTTP.
Definition: libgadu.h:367
char * body
Odebrana strona.
Definition: libgadu.h:377
void * data
Dane prywatne usługi HTTP.
Definition: libgadu.h:380
unsigned int body_size
Rozmiar strony.
Definition: libgadu.h:378
Token autoryzacji niektórych operacji HTTP.
Definition: libgadu.h:1505
◆ gg_token()
Pobiera token do autoryzacji operacji na katalogu publicznym.
Token jest niezbędny do tworzenia nowego i usuwania użytkownika, zmiany hasła itd.
- Parametry
-
async | Flaga połączenia asynchronicznego |
- Zwraca
- Struktura
gg_http
lub NULL
w przypadku błędu
◆ gg_token_watch_fd()
int gg_token_watch_fd |
( |
struct gg_http * |
h | ) |
|
Funkcja wywoływana po zaobserwowaniu zmian na deskryptorze połączenia.
Operacja będzie zakończona, gdy pole state
będzie równe GG_STATE_DONE
. Jeśli wystąpi błąd, state
będzie równe GG_STATE_ERROR
, a kod błędu znajdzie się w polu error
.
- Parametry
-
- Zwraca
- 0 jeśli się powiodło, -1 w przypadku błędu
◆ gg_token_free()
void gg_token_free |
( |
struct gg_http * |
h | ) |
|
Zwalnia zasoby po operacji pobierania tokenu.
- Parametry
-