libgadu 1.12.2

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

Wyliczenia | Funkcje
Lista kontaktów
Połączenie z serwerem

## Wyliczenia
enum | { GG_USER_NORMAL, GG_USER_BLOCKED, GG_USER_OFFLINE }
| Rodzaj kontaktu. Więcej...

## Funkcje
int | gg_notify_ex (struct gg_session *sess, uin_t *userlist, char *types, int count)
| Wysyła do serwera listę kontaktów. Więcej...
int | gg_notify (struct gg_session *sess, uin_t *userlist, int count)
| Wysyła do serwera listę kontaktów. Więcej...
int | gg_add_notify_ex (struct gg_session *sess, uin_t uin, char type)
| Dodaje kontakt. Więcej...
int | gg_add_notify (struct gg_session *sess, uin_t uin)
| Dodaje kontakt. Więcej...
int | gg_remove_notify_ex (struct gg_session *sess, uin_t uin, char type)
| Usuwa kontakt. Więcej...
int | gg_remove_notify (struct gg_session *sess, uin_t uin)
| Usuwa kontakt. Więcej...

## Opis szczegółowy

Po udanym połączeniu z serwerem, pierwszą czynnością powinno być wysłanie listy kontaktów. W innym przypadku serwer nie wyśle żadnych zakolejkowanych wiadomości, ponieważ najprawdopodobniej filtry antyspamowe traktują inaczej wiadomości od znajomych i nieznajomych. Do wysłania listy kontaktów zaraz po udanym połączeniu, nawet gdyby była pusta, należy użyć funkcji `gg_notify()` lub `gg_notify_ex()`. Dodawanie i usuwanie kontaktów podczas połączenia można przeprowadzać za pomocą funkcji `gg_add_notify()`, `gg_add_notify_ex()`, `gg_remove_notify()` i `gg_remove_notify_ex()`.

Przykład wysłania listy kontaktów składającej się z dwóch wpisów:

uin_t kontakty[] = { 12345, 67890 };
// ...
gg_notify(sesja, kontakty, 2);

Przykład wysłania pustej listy kontaktów, by móc odbierać wiadomości:

gg_notify(sesja, NULL, 0);

Po wysłaniu listy kontaktów otrzymamy informacje o statusie znajomych (za pomocą `GG_EVENT_NOTIFY`, `GG_EVENT_NOTIFY60` lub `GG_EVENT_NOTIFY77`) oraz informacje dodatkowe o kontaktach (za pomocą `GG_EVENT_USER_DATA`).

## Dokumentacja typów wyliczanych

anonymous enum

Rodzaj kontaktu.

Wartości wyliczeń
GG_USER_NORMAL | Zwykły kontakt.
GG_USER_BLOCKED | Zablokowany.
GG_USER_OFFLINE | Niewidoczny dla kontaktu.

## Dokumentacja funkcji

int gg_notify_ex | ( | struct gg_session * | sess,
|  | uin_t * | userlist,
|  | char * | types,
|  | int | count
| ) |  |

Wysyła do serwera listę kontaktów.

Funkcja informuje serwer o liście kontaktów, których statusy będą obserwowane lub kontaktów, które bedą blokowane. Dla każdego z `count` kontaktów tablica `userlist` zawiera numer, a tablica `types` rodzaj kontaktu (`GG_USER_NORMAL`, `GG_USER_OFFLINE`, `GG_USER_BLOCKED`).

Listę kontaktów należy zawsze wysyłać po połączeniu, nawet jeśli jest pusta.

Parametry

  sess | Struktura sesji
  userlist | Wskaźnik do tablicy numerów kontaktów
  types | Wskaźnik do tablicy rodzajów kontaktów. Jeżeli NULL, wszystkie kontakty są typu GG_USER_NORMAL.
  count | Liczba kontaktów

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

int gg_notify | ( | struct gg_session * | sess,
|  | uin_t * | userlist,
|  | int | count
| ) |  |

Wysyła do serwera listę kontaktów.

Funkcja jest odpowiednikiem `gg_notify_ex()`, gdzie wszystkie kontakty są rodzaju `GG_USER_NORMAL`.

Parametry

  sess | Struktura sesji
  userlist | Wskaźnik do tablicy numerów kontaktów
  count | Liczba kontaktów

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

int gg_add_notify_ex | ( | struct gg_session * | sess,
|  | uin_t | uin,
|  | char | type
| ) |  |

Dodaje kontakt.

Dodaje do listy kontaktów dany numer w trakcie połączenia. Aby zmienić rodzaj kontaktu (np. z normalnego na zablokowany), należy najpierw usunąć poprzedni rodzaj, ponieważ serwer operuje na maskach bitowych.

Parametry

  sess | Struktura sesji
  uin | Numer kontaktu
  type | Rodzaj kontaktu

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

int gg_add_notify | ( | struct gg_session * | sess,
|  | uin_t | uin
| ) |  |

Dodaje kontakt.

Funkcja jest odpowiednikiem `gg_add_notify_ex()`, gdzie rodzaj wszystkich kontaktów to `GG_USER_NORMAL`.

Parametry

  sess | Struktura sesji
  uin | Numer kontaktu

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

int gg_remove_notify_ex | ( | struct gg_session * | sess,
|  | uin_t | uin,
|  | char | type
| ) |  |

Usuwa kontakt.

Usuwa z listy kontaktów dany numer w trakcie połączenia.

Parametry

  sess | Struktura sesji
  uin | Numer kontaktu
  type | Rodzaj kontaktu

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

int gg_remove_notify | ( | struct gg_session * | sess,
|  | uin_t | uin
| ) |  |

Usuwa kontakt.

Funkcja jest odpowiednikiem `gg_add_notify_ex()`, gdzie rodzaj wszystkich kontaktów to `GG_USER_NORMAL`.

Parametry

  sess | Struktura sesji
  uin | Numer kontaktu

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