Struktury danych | |
| struct | gg_token |
| Token autoryzacji niektórych operacji HTTP. Więcej... | |
Funkcje | |
| struct gg_http * | gg_token (int async) |
| Pobiera token do autoryzacji operacji na katalogu publicznym. | |
| int | gg_token_watch_fd (struct gg_http *h) |
| Funkcja wywoływana po zaobserwowaniu zmian na deskryptorze połączenia. | |
| void | gg_token_free (struct gg_http *h) |
| Zwalnia zasoby po operacji pobierania tokenu. | |
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.
struct gg_http *token; FILE *f; token = gg_token(0); 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"); gg_token_free(token); exit(1); } fwrite(token->body, token->body_size, 1, plik); fclose(plik); gg_token_free(token);
Pobiera token do autoryzacji operacji na katalogu publicznym.
Token jest niezbędny do tworzenia nowego i usuwania użytkownika, zmiany hasła itd.
| async | Flaga połączenia asynchronicznego |
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.
| h | Struktura połączenia |
| void gg_token_free | ( | struct gg_http * | h | ) |
Zwalnia zasoby po operacji pobierania tokenu.
| h | Struktura połączenia |
1.7.1