Data Structures | Typedefs | Enumerations
pounce.h File Reference

Buddy Pounce API. More...

#include <glib.h>
#include "account.h"

Go to the source code of this file.

Data Structures

struct  _PurplePounce
 A buddy pounce structure. More...

Typedefs

typedef struct _PurplePounce PurplePounce
typedef void(* PurplePounceCb )(PurplePounce *, PurplePounceEvent, void *)
 A pounce callback.

Enumerations

enum  PurplePounceEvent {
  PURPLE_POUNCE_NONE = 0x000, PURPLE_POUNCE_SIGNON = 0x001, PURPLE_POUNCE_SIGNOFF = 0x002, PURPLE_POUNCE_AWAY = 0x004,
  PURPLE_POUNCE_AWAY_RETURN = 0x008, PURPLE_POUNCE_IDLE = 0x010, PURPLE_POUNCE_IDLE_RETURN = 0x020, PURPLE_POUNCE_TYPING = 0x040,
  PURPLE_POUNCE_TYPED = 0x080, PURPLE_POUNCE_TYPING_STOPPED = 0x100, PURPLE_POUNCE_MESSAGE_RECEIVED = 0x200
}
 Events that trigger buddy pounces. More...
enum  PurplePounceOption { PURPLE_POUNCE_OPTION_NONE = 0x00, PURPLE_POUNCE_OPTION_AWAY = 0x01 }

Functions

Buddy Pounce API
PurplePouncepurple_pounce_new (const char *ui_type, PurpleAccount *pouncer, const char *pouncee, PurplePounceEvent event, PurplePounceOption option)
 Creates a new buddy pounce.
void purple_pounce_destroy (PurplePounce *pounce)
 Destroys a buddy pounce.
void purple_pounce_destroy_all_by_account (PurpleAccount *account)
 Destroys all buddy pounces for the account.
void purple_pounce_destroy_all_by_buddy (PurpleBuddy *buddy)
 Destroys all buddy pounces for a buddy.
void purple_pounce_set_events (PurplePounce *pounce, PurplePounceEvent events)
 Sets the events a pounce should watch for.
void purple_pounce_set_options (PurplePounce *pounce, PurplePounceOption options)
 Sets the options for a pounce.
void purple_pounce_set_pouncer (PurplePounce *pounce, PurpleAccount *pouncer)
 Sets the account that will do the pouncing.
void purple_pounce_set_pouncee (PurplePounce *pounce, const char *pouncee)
 Sets the buddy a pounce should pounce on.
void purple_pounce_set_save (PurplePounce *pounce, gboolean save)
 Sets whether or not the pounce should be saved after execution.
void purple_pounce_action_register (PurplePounce *pounce, const char *name)
 Registers an action type for the pounce.
void purple_pounce_action_set_enabled (PurplePounce *pounce, const char *action, gboolean enabled)
 Enables or disables an action for a pounce.
void purple_pounce_action_set_attribute (PurplePounce *pounce, const char *action, const char *attr, const char *value)
 Sets a value for an attribute in an action.
void purple_pounce_set_data (PurplePounce *pounce, void *data)
 Sets the pounce-specific data.
PurplePounceEvent purple_pounce_get_events (const PurplePounce *pounce)
 Returns the events a pounce should watch for.
PurplePounceOption purple_pounce_get_options (const PurplePounce *pounce)
 Returns the options for a pounce.
PurpleAccountpurple_pounce_get_pouncer (const PurplePounce *pounce)
 Returns the account that will do the pouncing.
const char * purple_pounce_get_pouncee (const PurplePounce *pounce)
 Returns the buddy a pounce should pounce on.
gboolean purple_pounce_get_save (const PurplePounce *pounce)
 Returns whether or not the pounce should save after execution.
gboolean purple_pounce_action_is_enabled (const PurplePounce *pounce, const char *action)
 Returns whether or not an action is enabled.
const char * purple_pounce_action_get_attribute (const PurplePounce *pounce, const char *action, const char *attr)
 Returns the value for an attribute in an action.
void * purple_pounce_get_data (const PurplePounce *pounce)
 Returns the pounce-specific data.
void purple_pounce_execute (const PurpleAccount *pouncer, const char *pouncee, PurplePounceEvent events)
 Executes a pounce with the specified pouncer, pouncee, and event type.
Buddy Pounce Subsystem API
PurplePouncepurple_find_pounce (const PurpleAccount *pouncer, const char *pouncee, PurplePounceEvent events)
 Finds a pounce with the specified event(s) and buddy.
gboolean purple_pounces_load (void)
 Loads the pounces.
void purple_pounces_register_handler (const char *ui, PurplePounceCb cb, void(*new_pounce)(PurplePounce *pounce), void(*free_pounce)(PurplePounce *pounce))
 Registers a pounce handler for a UI.
void purple_pounces_unregister_handler (const char *ui)
 Unregisters a pounce handle for a UI.
GList * purple_pounces_get_all (void)
 Returns a list of all registered buddy pounces.
GList * purple_pounces_get_all_for_ui (const char *ui)
 Returns a list of registered buddy pounces for the ui-type.
void * purple_pounces_get_handle (void)
 Returns the buddy pounce subsystem handle.
void purple_pounces_init (void)
 Initializes the pounces subsystem.
void purple_pounces_uninit (void)
 Uninitializes the pounces subsystem.

Detailed Description

Buddy Pounce API.

Definition in file pounce.h.


Typedef Documentation

typedef void(* PurplePounceCb)(PurplePounce *, PurplePounceEvent, void *)

A pounce callback.

Definition at line 60 of file pounce.h.


Enumeration Type Documentation

Events that trigger buddy pounces.

Enumerator:
PURPLE_POUNCE_NONE 

No events.

PURPLE_POUNCE_SIGNON 

The buddy signed on.

PURPLE_POUNCE_SIGNOFF 

The buddy signed off.

PURPLE_POUNCE_AWAY 

The buddy went away.

PURPLE_POUNCE_AWAY_RETURN 

The buddy returned from away.

PURPLE_POUNCE_IDLE 

The buddy became idle.

PURPLE_POUNCE_IDLE_RETURN 

The buddy is no longer idle.

PURPLE_POUNCE_TYPING 

The buddy started typing.

PURPLE_POUNCE_TYPED 

The buddy has entered text.

PURPLE_POUNCE_TYPING_STOPPED 

The buddy stopped typing.

PURPLE_POUNCE_MESSAGE_RECEIVED 

The buddy sent a message.

Definition at line 37 of file pounce.h.

Enumerator:
PURPLE_POUNCE_OPTION_NONE 

No Option.

PURPLE_POUNCE_OPTION_AWAY 

Pounce only when away.

Definition at line 53 of file pounce.h.


Function Documentation

PurplePounce* purple_find_pounce ( const PurpleAccount pouncer,
const char *  pouncee,
PurplePounceEvent  events 
)

Finds a pounce with the specified event(s) and buddy.

Parameters:
pouncerThe account to match against.
pounceeThe buddy to match against.
eventsThe event(s) to match against.
Returns:
The pounce if found, or NULL otherwise.
const char* purple_pounce_action_get_attribute ( const PurplePounce pounce,
const char *  action,
const char *  attr 
)

Returns the value for an attribute in an action.

Parameters:
pounceThe buddy pounce.
actionThe action name.
attrThe attribute name.
Returns:
The attribute value, if it exists, or NULL.
gboolean purple_pounce_action_is_enabled ( const PurplePounce pounce,
const char *  action 
)

Returns whether or not an action is enabled.

Parameters:
pounceThe buddy pounce.
actionThe action name.
Returns:
TRUE if the action is enabled, or FALSE otherwise.
void purple_pounce_action_register ( PurplePounce pounce,
const char *  name 
)

Registers an action type for the pounce.

Parameters:
pounceThe buddy pounce.
nameThe action name.
void purple_pounce_action_set_attribute ( PurplePounce pounce,
const char *  action,
const char *  attr,
const char *  value 
)

Sets a value for an attribute in an action.

If value is NULL, the value will be unset.

Parameters:
pounceThe buddy pounce.
actionThe action name.
attrThe attribute name.
valueThe value.
void purple_pounce_action_set_enabled ( PurplePounce pounce,
const char *  action,
gboolean  enabled 
)

Enables or disables an action for a pounce.

Parameters:
pounceThe buddy pounce.
actionThe name of the action.
enabledThe enabled state.
void purple_pounce_destroy ( PurplePounce pounce)

Destroys a buddy pounce.

Parameters:
pounceThe buddy pounce.
void purple_pounce_destroy_all_by_account ( PurpleAccount account)

Destroys all buddy pounces for the account.

Parameters:
accountThe account to remove all pounces from.
void purple_pounce_destroy_all_by_buddy ( PurpleBuddy buddy)

Destroys all buddy pounces for a buddy.

Parameters:
buddyThe buddy whose pounces are to be removed
Since:
2.8.0
void purple_pounce_execute ( const PurpleAccount pouncer,
const char *  pouncee,
PurplePounceEvent  events 
)

Executes a pounce with the specified pouncer, pouncee, and event type.

Parameters:
pouncerThe account that will do the pouncing.
pounceeThe buddy that is being pounced.
eventsThe events that triggered the pounce.
void* purple_pounce_get_data ( const PurplePounce pounce)

Returns the pounce-specific data.

Parameters:
pounceThe buddy pounce.
Returns:
The data specific to a buddy pounce.
PurplePounceEvent purple_pounce_get_events ( const PurplePounce pounce)

Returns the events a pounce should watch for.

Parameters:
pounceThe buddy pounce.
Returns:
The events the pounce is watching for.
PurplePounceOption purple_pounce_get_options ( const PurplePounce pounce)

Returns the options for a pounce.

Parameters:
pounceThe buddy pounce.
Returns:
The options for the pounce.
const char* purple_pounce_get_pouncee ( const PurplePounce pounce)

Returns the buddy a pounce should pounce on.

Parameters:
pounceThe buddy pounce.
Returns:
The buddy to pounce on.
PurpleAccount* purple_pounce_get_pouncer ( const PurplePounce pounce)

Returns the account that will do the pouncing.

Parameters:
pounceThe buddy pounce.
Returns:
The account that will pounce.
gboolean purple_pounce_get_save ( const PurplePounce pounce)

Returns whether or not the pounce should save after execution.

Parameters:
pounceThe buddy pounce.
Returns:
TRUE if the pounce should be saved after execution, or FALSE otherwise.
PurplePounce* purple_pounce_new ( const char *  ui_type,
PurpleAccount pouncer,
const char *  pouncee,
PurplePounceEvent  event,
PurplePounceOption  option 
)

Creates a new buddy pounce.

Parameters:
ui_typeThe type of UI the pounce is for.
pouncerThe account that will pounce.
pounceeThe buddy to pounce on.
eventThe event(s) to pounce on.
optionPounce options.
Returns:
The new buddy pounce structure.
void purple_pounce_set_data ( PurplePounce pounce,
void *  data 
)

Sets the pounce-specific data.

Parameters:
pounceThe buddy pounce.
dataData specific to the pounce.
void purple_pounce_set_events ( PurplePounce pounce,
PurplePounceEvent  events 
)

Sets the events a pounce should watch for.

Parameters:
pounceThe buddy pounce.
eventsThe events to watch for.
void purple_pounce_set_options ( PurplePounce pounce,
PurplePounceOption  options 
)

Sets the options for a pounce.

Parameters:
pounceThe buddy pounce.
optionsThe options for the pounce.
void purple_pounce_set_pouncee ( PurplePounce pounce,
const char *  pouncee 
)

Sets the buddy a pounce should pounce on.

Parameters:
pounceThe buddy pounce.
pounceeThe buddy to pounce on.
void purple_pounce_set_pouncer ( PurplePounce pounce,
PurpleAccount pouncer 
)

Sets the account that will do the pouncing.

Parameters:
pounceThe buddy pounce.
pouncerThe account that will pounce.
void purple_pounce_set_save ( PurplePounce pounce,
gboolean  save 
)

Sets whether or not the pounce should be saved after execution.

Parameters:
pounceThe buddy pounce.
saveTRUE if the pounce should be saved, or FALSE otherwise.
GList* purple_pounces_get_all ( void  )

Returns a list of all registered buddy pounces.

Note:
The return value of this function must not be modified or freed.
Returns:
The list of buddy pounces.
GList* purple_pounces_get_all_for_ui ( const char *  ui)

Returns a list of registered buddy pounces for the ui-type.

Parameters:
uiThe ID of the UI using the core.
Returns:
The list of buddy pounces. The list should be freed by the caller when it's no longer used.
Since:
2.1.0
void* purple_pounces_get_handle ( void  )

Returns the buddy pounce subsystem handle.

Returns:
The subsystem handle.
gboolean purple_pounces_load ( void  )

Loads the pounces.

Returns:
TRUE if the pounces could be loaded.
void purple_pounces_register_handler ( const char *  ui,
PurplePounceCb  cb,
void(*)(PurplePounce *pounce)  new_pounce,
void(*)(PurplePounce *pounce)  free_pounce 
)

Registers a pounce handler for a UI.

Parameters:
uiThe UI name.
cbThe callback function.
new_pounceThe function called when a pounce is created.
free_pounceThe function called when a pounce is freed.
void purple_pounces_unregister_handler ( const char *  ui)

Unregisters a pounce handle for a UI.

Parameters:
uiThe UI name.