libgadu 1.12.2

- Strona główna
- Dodatkowe strony
- Moduły
- Struktury Danych
- Pliki

Struktury danych | Funkcje
Tokeny
Usługi dodatkowe

## 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. Więcej...
int | gg_token_watch_fd (struct gg_http *h)
| Funkcja wywoływana po zaobserwowaniu zmian na deskryptorze połączenia. Więcej...
void | gg_token_free (struct gg_http *h)
| Zwalnia zasoby po operacji pobierania tokenu. Więcej...

## Opis szczegółowy

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

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);

## Dokumentacja funkcji

struct gg_http* gg_token | ( | int | async | ) |

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

  h | Struktura połączenia

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

  h | Struktura połączenia