Zmiana statusu użytkownika
[Połączenie z serwerem]


Defines

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

Enumerations

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_IMAGE_MASK,
  GG_STATUS_DESCR_MASK,
  GG_STATUS_FRIENDS_MASK
}
 Rodzaje statusów użytkownika. More...
enum  {
  GG_STATUS_FLAG_UNKNOWN,
  GG_STATUS_FLAG_VIDEO,
  GG_STATUS_FLAG_MOBILE,
  GG_STATUS_FLAG_SPAM
}
 Rodzaje statusów użytkownika. More...

Functions

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

Detailed Description

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().

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

Define Documentation

#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.


Enumeration Type Documentation

anonymous enum

Rodzaje statusów użytkownika.

Enumerator:
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_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.

Enumerator:
GG_STATUS_FLAG_UNKNOWN  Przeznaczenie nieznane, ale występuje zawsze.
GG_STATUS_FLAG_VIDEO  Klient obsługuje wideorozmowy.
GG_STATUS_FLAG_MOBILE  Klient mobilny (ikona telefonu komórkowego).
GG_STATUS_FLAG_SPAM  Klient chce otrzymywać linki od nieznajomych.


Function Documentation

int gg_change_status ( struct gg_session sess,
int  status 
)

Zmienia status użytkownika.

Parameters:
sess Struktura sesji
status Nowy status użytkownika
Returns:
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.

Parameters:
sess Struktura sesji
status Nowy status użytkownika
descr Opis statusu użytkownika
Returns:
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  time 
)

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

Parameters:
sess Struktura sesji
status Nowy status użytkownika
descr Opis statusu użytkownika
time Czas powrotu w postaci uniksowego znacznika czasu
Returns:
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.

Parameters:
sess Struktura sesji
flags Nowe flagi statusu
Returns:
0 jeśli się powiodło, -1 w przypadku błędu
Note:
Aby zmiany weszły w życie, należy ponownie ustawić status za pomocą funkcji z rodziny gg_change_status().


Generated on Sat Jul 31 03:01:21 2010 for libgadu by  doxygen 1.5.6