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);
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
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
void gg_token_free |
( |
struct gg_http * |
h | ) |
|
Zwalnia zasoby po operacji pobierania tokenu.
- Parametry
-