|
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 |
1.8.6