Fri Jun 19 12:10:34 2009

Asterisk developer's documentation


event_defs.h File Reference

Generic event system. More...

Go to the source code of this file.

Data Structures

struct  ast_event_iterator
 supposed to be an opaque type More...

Defines

#define AST_EVENT_IE_MAX   AST_EVENT_IE_EID

Enumerations

enum  ast_event_ie_pltype {
  AST_EVENT_IE_PLTYPE_UNKNOWN = -1, AST_EVENT_IE_PLTYPE_EXISTS, AST_EVENT_IE_PLTYPE_UINT, AST_EVENT_IE_PLTYPE_STR,
  AST_EVENT_IE_PLTYPE_RAW
}
 Payload types for event information elements. More...
enum  ast_event_ie_type {
  AST_EVENT_IE_END = -1, AST_EVENT_IE_NEWMSGS = 0x01, AST_EVENT_IE_OLDMSGS = 0x02, AST_EVENT_IE_MAILBOX = 0x03,
  AST_EVENT_IE_UNIQUEID = 0x04, AST_EVENT_IE_EVENTTYPE = 0x05, AST_EVENT_IE_EXISTS = 0x06, AST_EVENT_IE_DEVICE = 0x07,
  AST_EVENT_IE_STATE = 0x08, AST_EVENT_IE_CONTEXT = 0x09, AST_EVENT_IE_EID = 0x0A
}
 Event Information Element types. More...
enum  ast_event_subscriber_res { AST_EVENT_SUB_NONE, AST_EVENT_SUB_EXISTS }
 Results for checking for subscribers. More...
enum  ast_event_type {
  AST_EVENT_ALL = 0x00, AST_EVENT_CUSTOM = 0x01, AST_EVENT_MWI = 0x02, AST_EVENT_SUB = 0x03,
  AST_EVENT_UNSUB = 0x04, AST_EVENT_DEVICE_STATE = 0x05, AST_EVENT_DEVICE_STATE_CHANGE = 0x06, AST_EVENT_TOTAL = 0x07
}
 Event types. More...


Detailed Description

Generic event system.

Author:
Russell Bryant <russell@digium.com>

Definition in file event_defs.h.


Define Documentation

#define AST_EVENT_IE_MAX   AST_EVENT_IE_EID

Definition at line 125 of file event_defs.h.

Referenced by ast_event_get_ie_pltype(), ast_event_get_ie_type_name(), ast_event_sub_append_ie_exists(), ast_event_sub_append_ie_raw(), ast_event_sub_append_ie_str(), and ast_event_sub_append_ie_uint().


Enumeration Type Documentation

enum ast_event_ie_pltype

Payload types for event information elements.

Enumerator:
AST_EVENT_IE_PLTYPE_UNKNOWN 
AST_EVENT_IE_PLTYPE_EXISTS  Just check if it exists, not the value
AST_EVENT_IE_PLTYPE_UINT  Unsigned Integer (Can be used for signed, too ...)
AST_EVENT_IE_PLTYPE_STR  String
AST_EVENT_IE_PLTYPE_RAW  Raw data, compared with memcmp

Definition at line 130 of file event_defs.h.

00130                          {
00131    AST_EVENT_IE_PLTYPE_UNKNOWN = -1,
00132    /*! Just check if it exists, not the value */
00133    AST_EVENT_IE_PLTYPE_EXISTS,
00134    /*! Unsigned Integer (Can be used for signed, too ...) */
00135    AST_EVENT_IE_PLTYPE_UINT,
00136    /*! String */
00137    AST_EVENT_IE_PLTYPE_STR,
00138    /*! Raw data, compared with memcmp */
00139    AST_EVENT_IE_PLTYPE_RAW,
00140 };

enum ast_event_ie_type

Event Information Element types.

Enumerator:
AST_EVENT_IE_END  Used to terminate the arguments to event functions
AST_EVENT_IE_NEWMSGS  Number of new messages Used by: AST_EVENT_MWI Payload type: UINT.
AST_EVENT_IE_OLDMSGS  Number of Used by: AST_EVENT_MWI Payload type: UINT.
AST_EVENT_IE_MAILBOX  Mailbox name.

(mailbox[@context]) 
Used by: AST_EVENT_MWI Payload type: STR
AST_EVENT_IE_UNIQUEID  Unique ID Used by: AST_EVENT_SUB, AST_EVENT_UNSUB Payload type: UINT.
AST_EVENT_IE_EVENTTYPE  Event type Used by: AST_EVENT_SUB, AST_EVENT_UNSUB Payload type: UINT.
AST_EVENT_IE_EXISTS  Hint that someone cares that an IE exists Used by: AST_EVENT_SUB Payload type: UINT (ast_event_ie_type).
AST_EVENT_IE_DEVICE  Device Name Used by AST_EVENT_DEVICE_STATE_CHANGE Payload type: STR.
AST_EVENT_IE_STATE  Generic State IE Used by AST_EVENT_DEVICE_STATE_CHANGE Payload type: UINT The actual state values depend on the event which this IE is a part of.
AST_EVENT_IE_CONTEXT  Context IE Used by AST_EVENT_MWI Payload type: str.
AST_EVENT_IE_EID  Entity ID Used by All events Payload type: RAW This IE indicates which server the event originated from.

Definition at line 56 of file event_defs.h.

00056                        {
00057    /*! Used to terminate the arguments to event functions */
00058    AST_EVENT_IE_END       = -1,
00059 
00060    /*! 
00061     * \brief Number of new messages
00062     * Used by: AST_EVENT_MWI 
00063     * Payload type: UINT
00064     */
00065    AST_EVENT_IE_NEWMSGS   = 0x01,
00066    /*! 
00067     * \brief Number of
00068     * Used by: AST_EVENT_MWI 
00069     * Payload type: UINT
00070     */
00071    AST_EVENT_IE_OLDMSGS   = 0x02,
00072    /*! 
00073     * \brief Mailbox name \verbatim (mailbox[@context]) \endverbatim
00074     * Used by: AST_EVENT_MWI 
00075     * Payload type: STR
00076     */
00077    AST_EVENT_IE_MAILBOX   = 0x03,
00078    /*! 
00079     * \brief Unique ID
00080     * Used by: AST_EVENT_SUB, AST_EVENT_UNSUB
00081     * Payload type: UINT
00082     */
00083    AST_EVENT_IE_UNIQUEID  = 0x04,
00084    /*! 
00085     * \brief Event type 
00086     * Used by: AST_EVENT_SUB, AST_EVENT_UNSUB
00087     * Payload type: UINT
00088     */
00089    AST_EVENT_IE_EVENTTYPE = 0x05,
00090    /*!
00091     * \brief Hint that someone cares that an IE exists
00092     * Used by: AST_EVENT_SUB
00093     * Payload type: UINT (ast_event_ie_type)
00094     */
00095    AST_EVENT_IE_EXISTS    = 0x06,
00096    /*!
00097     * \brief Device Name
00098     * Used by AST_EVENT_DEVICE_STATE_CHANGE
00099     * Payload type: STR
00100     */
00101    AST_EVENT_IE_DEVICE    = 0x07,
00102    /*!
00103     * \brief Generic State IE
00104     * Used by AST_EVENT_DEVICE_STATE_CHANGE
00105     * Payload type: UINT
00106     * The actual state values depend on the event which
00107     * this IE is a part of.
00108     */
00109     AST_EVENT_IE_STATE    = 0x08,
00110     /*!
00111      * \brief Context IE
00112      * Used by AST_EVENT_MWI
00113      * Payload type: str
00114      */
00115     AST_EVENT_IE_CONTEXT  = 0x09,
00116     /*!
00117      * \brief Entity ID
00118      * Used by All events
00119      * Payload type: RAW
00120      * This IE indicates which server the event originated from
00121      */
00122     AST_EVENT_IE_EID      = 0x0A,
00123 };

enum ast_event_subscriber_res

Results for checking for subscribers.

ast_event_check_subscriber()

Enumerator:
AST_EVENT_SUB_NONE  No subscribers exist
AST_EVENT_SUB_EXISTS  At least one subscriber exists

Definition at line 147 of file event_defs.h.

00147                               {
00148    /*! No subscribers exist */
00149    AST_EVENT_SUB_NONE,
00150    /*! At least one subscriber exists */
00151    AST_EVENT_SUB_EXISTS,
00152 };

enum ast_event_type

Event types.

Note:
These values can *never* change.
Enumerator:
AST_EVENT_ALL  Reserved to provide the ability to subscribe to all events. A specific event should never have a payload of 0.
AST_EVENT_CUSTOM  This event type is reserved for use by third-party modules to create custom events without having to modify this file.
Note:
There are no "custom" IE types, because IEs only have to be unique to the event itself, not necessarily across all events.
AST_EVENT_MWI  Voicemail message waiting indication
AST_EVENT_SUB  Someone has subscribed to events
AST_EVENT_UNSUB  Someone has unsubscribed from events
AST_EVENT_DEVICE_STATE  The aggregate state of a device across all servers configured to be a part of a device state cluster has changed.
AST_EVENT_DEVICE_STATE_CHANGE  The state of a device has changed on _one_ server. This should not be used directly, in general. Use AST_EVENT_DEVICE_STATE instead.
AST_EVENT_TOTAL  Number of event types. This should be the last event type + 1

Definition at line 30 of file event_defs.h.

00030                     {
00031    /*! Reserved to provide the ability to subscribe to all events.  A specific
00032     *  event should never have a payload of 0. */
00033    AST_EVENT_ALL                 = 0x00,
00034    /*! This event type is reserved for use by third-party modules to create
00035     *  custom events without having to modify this file. 
00036     *  \note There are no "custom" IE types, because IEs only have to be
00037     *  unique to the event itself, not necessarily across all events. */
00038    AST_EVENT_CUSTOM              = 0x01,
00039    /*! Voicemail message waiting indication */
00040    AST_EVENT_MWI                 = 0x02,
00041    /*! Someone has subscribed to events */
00042    AST_EVENT_SUB                 = 0x03,
00043    /*! Someone has unsubscribed from events */
00044    AST_EVENT_UNSUB               = 0x04,
00045    /*! The aggregate state of a device across all servers configured to be
00046     *  a part of a device state cluster has changed. */
00047    AST_EVENT_DEVICE_STATE        = 0x05,
00048    /*! The state of a device has changed on _one_ server.  This should not be used
00049     *  directly, in general.  Use AST_EVENT_DEVICE_STATE instead. */
00050    AST_EVENT_DEVICE_STATE_CHANGE = 0x06,
00051    /*! Number of event types.  This should be the last event type + 1 */
00052    AST_EVENT_TOTAL               = 0x07,
00053 };


Generated on Fri Jun 19 12:10:34 2009 for Asterisk - the Open Source PBX by  doxygen 1.4.7