libgadu 1.12.2

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

Definicje | Wyliczenia | Funkcje
Zmiana statusu użytkownika
Połączenie z serwerem

## Definicje
#define | GG_STATUS_VOICE_MASK 0x20000
| Flaga bitowa dostepnosci informujaca ze mozemy voipowac. Więcej...
#define | GG_STATUS_DESCR_MAXSIZE 255
| Maksymalna długośc opisu. Więcej...

## Wyliczenia
enum | { GG_STATUS_NOT_AVAIL, GG_STATUS_NOT_AVAIL_DESCR, GG_STATUS_FFC, GG_STATUS_FFC_DESCR, GG_STATUS_AVAIL, GG_STATUS_AVAIL_DESCR, GG_STATUS_BUSY, GG_STATUS_BUSY_DESCR, GG_STATUS_DND, GG_STATUS_DND_DESCR, GG_STATUS_INVISIBLE, GG_STATUS_INVISIBLE_DESCR, GG_STATUS_BLOCKED, GG_STATUS_GGPLUS, GG_STATUS_NOT_SET, GG_STATUS_IMAGE_MASK, GG_STATUS_DESCR_MASK, GG_STATUS_FRIENDS_MASK }
| Rodzaje statusów użytkownika. Więcej...
enum | { GG_STATUS_FLAG_UNKNOWN, GG_STATUS_FLAG_VIDEO, GG_STATUS_FLAG_INHERIT, GG_STATUS_FLAG_MOBILE, GG_STATUS_FLAG_SPAM }
| Rodzaje statusów użytkownika. Więcej...

## Funkcje
int | gg_change_status (struct gg_session *sess, int status)
| Zmienia status użytkownika. Więcej...
int | gg_change_status_descr (struct gg_session *sess, int status, const char *descr)
| Zmienia status użytkownika na status opisowy. Więcej...
int | gg_change_status_descr_time (struct gg_session *sess, int status, const char *descr, int ts)
| Zmienia status użytkownika na status opisowy z podanym czasem powrotu. Więcej...
int | gg_change_status_flags (struct gg_session *sess, int flags)
| Funkcja zmieniająca flagi statusu. Więcej...

## Opis szczegółowy

Domyślnym statusem użytkownika po połączeniu z serwerem jest `GG_STATUS_AVAIL`. Domyślny status połączenia można zmienić za pomocą pól `status` i `status_descr` struktury `gg_login_params`. Już po połączeniu z serwerem, status można zmieniać za pomocą poniższych funkcji.

Przykład zmiany stanu na zajęty z opisem, widoczny tylko dla znajomych:

gg_change_status_descr(sesja, GG_STATUS_INVISIBLE_DESCR | GG_STATUS_FRIENDS_MASK, "Nie przeszkadzać!");

Aby obserwować zmiany statusu kontaktów, należy najpierw dodać do listy konktaktów ich identyfikatory, a następnie obsługiwać zdarzenia związane ze zmianami statusu.

Jeśli pole `protocol_features` struktury `gg_login_params` zawiera `GG_FEATURE_IMAGE_DESCR`, informacja o tym, że status zawiera opis, jest dodatkowo przekazywana za pomocą flagi `GG_STATUS_DESCR_MASK`. To samo dotyczy zmiany statusów osób z listy kontaktów.

Część opcji jest dostępna w postaci flag statusu, np. otrzymywanie linków od nieznajomych czy figurowanie jako klient mobilny. Można je ustawić za pomocą pola `status_flags` struktury `gg_login_params` lub funkcją `gg_change_status_flags()`.

Błąd:
  Nie ma możliwości poprawnego odbierania statusów zawierających czas powrotu.

## Dokumentacja definicji

#define GG_STATUS_VOICE_MASK 0x20000

Flaga bitowa dostepnosci informujaca ze mozemy voipowac.

czy ma wlaczone audio (7.7)

#define GG_STATUS_DESCR_MAXSIZE 255

Maksymalna długośc opisu.

## Dokumentacja typów wyliczanych

anonymous enum

Rodzaje statusów użytkownika.

Wartości wyliczeń
GG_STATUS_NOT_AVAIL | Niedostępny.
GG_STATUS_NOT_AVAIL_DESCR | Niedostępny z opisem.
GG_STATUS_FFC | PoGGadaj ze mną
GG_STATUS_FFC_DESCR | PoGGadaj ze mną z opisem.
GG_STATUS_AVAIL | Dostępny.
GG_STATUS_AVAIL_DESCR | Dostępny z opisem.
GG_STATUS_BUSY | Zajęty.
GG_STATUS_BUSY_DESCR | Zajęty z opisem.
GG_STATUS_DND | Nie przeszkadzać
GG_STATUS_DND_DESCR | Nie przeszakdzać z opisem.
GG_STATUS_INVISIBLE | Niewidoczny (tylko własny status)
GG_STATUS_INVISIBLE_DESCR | Niewidoczny z opisem (tylko własny status)
GG_STATUS_BLOCKED | Zablokowany (tylko status innych)
GG_STATUS_GGPLUS | Status "Korzystam z GG Plus".
GG_STATUS_NOT_SET | Status nie ustawiony (przy logowaniu się do sieci)
GG_STATUS_IMAGE_MASK | Flaga bitowa oznaczająca opis graficzny (tylko jeśli wybrano `GG_FEATURE_IMAGE_DESCR`)
GG_STATUS_DESCR_MASK | Flaga bitowa oznaczająca status z opisem (tylko jeśli wybrano `GG_FEATURE_IMAGE_DESCR`)
GG_STATUS_FRIENDS_MASK | Flaga bitowa dostępności tylko dla znajomych.

anonymous enum

Rodzaje statusów użytkownika.

Mapa bitowa.

Wartości wyliczeń
GG_STATUS_FLAG_UNKNOWN | Przeznaczenie nieznane, ale występuje zawsze.
GG_STATUS_FLAG_VIDEO | Klient obsługuje wideorozmowy.
GG_STATUS_FLAG_INHERIT | Synchronizacja statusu do innych klientów (przy logowaniu się do sieci)
GG_STATUS_FLAG_MOBILE | Klient mobilny (ikona telefonu komórkowego)
GG_STATUS_FLAG_SPAM | Klient chce otrzymywać linki od nieznajomych.

## Dokumentacja funkcji

int gg_change_status | ( | struct gg_session * | sess,
|  | int | status
| ) |  |

Zmienia status użytkownika.

Parametry

  sess | Struktura sesji
  status | Nowy status użytkownika

Zwraca
  0 jeśli się powiodło, -1 w przypadku błędu

int gg_change_status_descr | ( | struct gg_session * | sess,
|  | int | status,
|  | const char * | descr
| ) |  |

Zmienia status użytkownika na status opisowy.

Parametry

  sess | Struktura sesji
  status | Nowy status użytkownika
  descr | Opis statusu użytkownika (lub `NULL`)

Zwraca
  0 jeśli się powiodło, -1 w przypadku błędu

int gg_change_status_descr_time | ( | struct gg_session * | sess,
|  | int | status,
|  | const char * | descr,
|  | int | ts
| ) |  |

Zmienia status użytkownika na status opisowy z podanym czasem powrotu.

Parametry

  sess | Struktura sesji
  status | Nowy status użytkownika
  descr | Opis statusu użytkownika
  ts | Czas powrotu w postaci uniksowego znacznika czasu

Zwraca
  0 jeśli się powiodło, -1 w przypadku błędu

int gg_change_status_flags | ( | struct gg_session * | sess,
|  | int | flags
| ) |  |

Funkcja zmieniająca flagi statusu.

Parametry

  sess | Struktura sesji
  flags | Nowe flagi statusu

Zwraca
  0 jeśli się powiodło, -1 w przypadku błędu

Nota
  Aby zmiany weszły w życie, należy ponownie ustawić status za pomocą funkcji z rodziny `gg_change_status()`.