pounce.h
Go to the documentation of this file.00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _PURPLE_POUNCE_H_
00027 #define _PURPLE_POUNCE_H_
00028
00029 typedef struct _PurplePounce PurplePounce;
00030
00031 #include <glib.h>
00032 #include "account.h"
00033
00037 typedef enum
00038 {
00039 PURPLE_POUNCE_NONE = 0x000,
00040 PURPLE_POUNCE_SIGNON = 0x001,
00041 PURPLE_POUNCE_SIGNOFF = 0x002,
00042 PURPLE_POUNCE_AWAY = 0x004,
00043 PURPLE_POUNCE_AWAY_RETURN = 0x008,
00044 PURPLE_POUNCE_IDLE = 0x010,
00045 PURPLE_POUNCE_IDLE_RETURN = 0x020,
00046 PURPLE_POUNCE_TYPING = 0x040,
00047 PURPLE_POUNCE_TYPED = 0x080,
00048 PURPLE_POUNCE_TYPING_STOPPED = 0x100,
00049 PURPLE_POUNCE_MESSAGE_RECEIVED = 0x200
00051 } PurplePounceEvent;
00052
00053 typedef enum
00054 {
00055 PURPLE_POUNCE_OPTION_NONE = 0x00,
00056 PURPLE_POUNCE_OPTION_AWAY = 0x01
00057 } PurplePounceOption;
00058
00060 typedef void (*PurplePounceCb)(PurplePounce *, PurplePounceEvent, void *);
00061
00070 struct _PurplePounce
00071 {
00072 char *ui_type;
00074 PurplePounceEvent events;
00075 PurplePounceOption options;
00076 PurpleAccount *pouncer;
00078 char *pouncee;
00080 GHashTable *actions;
00082 gboolean save;
00084 void *data;
00085 };
00086
00087 #ifdef __cplusplus
00088 extern "C" {
00089 #endif
00090
00091
00093
00107 PurplePounce *purple_pounce_new(const char *ui_type, PurpleAccount *pouncer,
00108 const char *pouncee, PurplePounceEvent event,
00109 PurplePounceOption option);
00110
00116 void purple_pounce_destroy(PurplePounce *pounce);
00117
00123 void purple_pounce_destroy_all_by_account(PurpleAccount *account);
00124
00132 void purple_pounce_destroy_all_by_buddy(PurpleBuddy *buddy);
00133
00140 void purple_pounce_set_events(PurplePounce *pounce, PurplePounceEvent events);
00141
00148 void purple_pounce_set_options(PurplePounce *pounce, PurplePounceOption options);
00149
00156 void purple_pounce_set_pouncer(PurplePounce *pounce, PurpleAccount *pouncer);
00157
00164 void purple_pounce_set_pouncee(PurplePounce *pounce, const char *pouncee);
00165
00172 void purple_pounce_set_save(PurplePounce *pounce, gboolean save);
00173
00180 void purple_pounce_action_register(PurplePounce *pounce, const char *name);
00181
00189 void purple_pounce_action_set_enabled(PurplePounce *pounce, const char *action,
00190 gboolean enabled);
00191
00202 void purple_pounce_action_set_attribute(PurplePounce *pounce, const char *action,
00203 const char *attr, const char *value);
00204
00211 void purple_pounce_set_data(PurplePounce *pounce, void *data);
00212
00220 PurplePounceEvent purple_pounce_get_events(const PurplePounce *pounce);
00221
00229 PurplePounceOption purple_pounce_get_options(const PurplePounce *pounce);
00230
00238 PurpleAccount *purple_pounce_get_pouncer(const PurplePounce *pounce);
00239
00247 const char *purple_pounce_get_pouncee(const PurplePounce *pounce);
00248
00257 gboolean purple_pounce_get_save(const PurplePounce *pounce);
00258
00267 gboolean purple_pounce_action_is_enabled(const PurplePounce *pounce,
00268 const char *action);
00269
00279 const char *purple_pounce_action_get_attribute(const PurplePounce *pounce,
00280 const char *action,
00281 const char *attr);
00282
00290 void *purple_pounce_get_data(const PurplePounce *pounce);
00291
00299 void purple_pounce_execute(const PurpleAccount *pouncer, const char *pouncee,
00300 PurplePounceEvent events);
00301
00304
00306
00318 PurplePounce *purple_find_pounce(const PurpleAccount *pouncer,
00319 const char *pouncee, PurplePounceEvent events);
00320
00321
00327 gboolean purple_pounces_load(void);
00328
00337 void purple_pounces_register_handler(const char *ui, PurplePounceCb cb,
00338 void (*new_pounce)(PurplePounce *pounce),
00339 void (*free_pounce)(PurplePounce *pounce));
00340
00346 void purple_pounces_unregister_handler(const char *ui);
00347
00353 GList *purple_pounces_get_all(void);
00354
00364 GList *purple_pounces_get_all_for_ui(const char *ui);
00365
00371 void *purple_pounces_get_handle(void);
00372
00376 void purple_pounces_init(void);
00377
00381 void purple_pounces_uninit(void);
00382
00385 #ifdef __cplusplus
00386 }
00387 #endif
00388
00389 #endif