libgadu
1.12.2
|
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... | |
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:
Przykład wysłania pustej listy kontaktów, by móc odbierać wiadomości:
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
).
anonymous enum |
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.
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 |
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
.
sess | Struktura sesji |
userlist | Wskaźnik do tablicy numerów kontaktów |
count | Liczba kontaktów |
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.
sess | Struktura sesji |
uin | Numer kontaktu |
type | Rodzaj kontaktu |
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
.
sess | Struktura sesji |
uin | Numer kontaktu |
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.
sess | Struktura sesji |
uin | Numer kontaktu |
type | Rodzaj kontaktu |
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
.
sess | Struktura sesji |
uin | Numer kontaktu |