astxx::manager::basic_action Class Reference

#include <astxx/manager/basic_action.h>

Inheritance diagram for astxx::manager::basic_action:

Inheritance graph
[legend]
Collaboration diagram for astxx::manager::basic_action:

Collaboration graph
[legend]

List of all members.


Detailed Description

Base class for manager commands.

This class should be derrived from to form actual manager commands. Derrived classes will be passed to the manager::connection::send_action() function which will then execute their basic_action::action() member function and send whatever it returns to Asterisk.

Definition at line 47 of file basic_action.h.


Public Member Functions

virtual message::action action () const =0
 Format this command as a header for sending to Asterisk.
virtual void action_id (const std::string &id)
 Set the ActionID for this action.
virtual std::string action_id () const
 Get the ActionID for this action.
virtual message::response handle_response (message::response response)
 Handle a response from Asterisk.
message::response operator() (connection &c)
 Send this action over this connection and handle the response.

Member Function Documentation

virtual message::action astxx::manager::basic_action::action (  )  const [pure virtual]

virtual std::string astxx::manager::basic_action::action_id (  )  const [inline, virtual]

Get the ActionID for this action.

Returns:
the ActionID for this action.

Definition at line 62 of file basic_action.h.

Referenced by astxx::manager::action::status::action(), and astxx::manager::connection::send_action_async().

message::response astxx::manager::basic_action::handle_response ( message::response  response  )  [virtual]

Handle a response from Asterisk.

Parameters:
response the response to handle
This function is called from basic_action::operator()() and passed the response from Asterisk. This function may opt to throw exceptions if an error occours. The default implementation handles errors common to most manager actions. Overriding methods should call this method before processing the response if they would like to keep this error handling.

Returns:
the message::response we were passed
Exceptions:
manager::permission_denied on a permission error
manager::authentication_required on an authentication error
manager::action::missing_data if required data was not provided
manager::action::bad_data if the given data was invalid (invalid priority, channel, timeout...)
manager::action::channel_not_found if the given channel was not found

Reimplemented in astxx::manager::action::command, astxx::manager::action::getvar, and astxx::manager::action::login.

Definition at line 48 of file basic_action.cc.

References action().

Referenced by astxx::manager::action::login::handle_response(), astxx::manager::action::getvar::handle_response(), astxx::manager::action::command::handle_response(), and operator()().

message::response astxx::manager::basic_action::operator() ( connection c  ) 

Send this action over this connection and handle the response.

Parameters:
c the connection to use
This function sends this action over the give connection to Asterisk and then passes the response through basic_action::handle_response() before returning it. basic_action::handle_response() will throw exceptions for most common errors.

Returns:
the response from Asterisk

Definition at line 103 of file basic_action.cc.

References handle_response().


The documentation for this class was generated from the following files:

Generated on Thu Jul 3 01:32:48 2008 for Astxx by  doxygen 1.5.6