libgadu  1.12.1
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.
int gg_notify (struct gg_session *sess, uin_t *userlist, int count)
 Wysyła do serwera listę kontaktów.
int gg_add_notify_ex (struct gg_session *sess, uin_t uin, char type)
 Dodaje kontakt.
int gg_add_notify (struct gg_session *sess, uin_t uin)
 Dodaje kontakt.
int gg_remove_notify_ex (struct gg_session *sess, uin_t uin, char type)
 Usuwa kontakt.
int gg_remove_notify (struct gg_session *sess, uin_t uin)
 Usuwa kontakt.

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:
sessStruktura sesji
userlistWskaźnik do tablicy numerów kontaktów
typesWskaźnik do tablicy rodzajów kontaktów. Jeżeli NULL, wszystkie kontakty są typu GG_USER_NORMAL.
countLiczba 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:
sessStruktura sesji
userlistWskaźnik do tablicy numerów kontaktów
countLiczba 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:
sessStruktura sesji
uinNumer kontaktu
typeRodzaj 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:
sessStruktura sesji
uinNumer 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:
sessStruktura sesji
uinNumer kontaktu
typeRodzaj 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:
sessStruktura sesji
uinNumer kontaktu
Zwraca:
0 jeśli się powiodło, -1 w przypadku błędu
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje