Command Class Reference

An abstraction of an Adhoc Command element (from Adhoc Commands, XEP-0050) as a StanzaExtension. More...

#include <adhoc.h>

Inherits gloox::StanzaExtension.

List of all members.

Classes

class  Note

Public Types

enum  Action {
  Execute = 1, Cancel = 2, Previous = 4, Next = 8,
  Complete = 16, InvalidAction = 32
}
enum  Status { Executing, Completed, Canceled, InvalidStatus }
typedef std::list< const Note * > NoteList

Public Member Functions

 Command (const std::string &node, const std::string &sessionid, Action action, DataForm *form=0)
 Command (const std::string &node, const std::string &sessionid, Status status, DataForm *form=0)
 Command (const std::string &node, const std::string &sessionid, Status status, Action executeAction, int allowedActions=Complete, DataForm *form=0)
 Command (const std::string &node, Action action, DataForm *form=0)
 Command (const Tag *tag=0)
virtual ~Command ()
const std::string & node () const
const std::string & sessionID () const
Status status () const
Action action () const
int actions () const
const NoteListnotes () const
void addNote (const Note *note)
const DataFormform () const
virtual const std::string & filterString () const
virtual StanzaExtensionnewInstance (const Tag *tag) const
virtual Tagtag () const
virtual StanzaExtensionclone () const

Detailed Description

An abstraction of an Adhoc Command element (from Adhoc Commands, XEP-0050) as a StanzaExtension.

Author:
Jakob Schroeter <js@camaya.net>
Since:
1.0

Definition at line 90 of file adhoc.h.


Member Typedef Documentation

typedef std::list<const Note*> NoteList

A list of command notes.

Definition at line 197 of file adhoc.h.


Member Enumeration Documentation

enum Action

Specifies the action to undertake with the given command.

Enumerator:
Execute 

The command should be executed or continue to be executed. This is the default value.

Cancel 

The command should be canceled.

Previous 

The command should be digress to the previous stage of execution.

Next 

The command should progress to the next stage of execution.

Complete 

The command should be completed (if possible).

InvalidAction 

The action is unknown or invalid.

Definition at line 99 of file adhoc.h.

enum Status

Describes the current status of a command.

Enumerator:
Executing 

The command is being executed.

Completed 

The command has completed. The command session has ended.

Canceled 

The command has been canceled. The command session has ended.

InvalidStatus 

The status is unknown or invalid.

Definition at line 115 of file adhoc.h.


Constructor & Destructor Documentation

Command ( const std::string &  node,
const std::string &  sessionid,
Action  action,
DataForm form = 0 
)

Creates a Command object that can be used to perform the provided Action. This constructor is used best to continue execution of a multi stage command (for which the session ID must be known).

Parameters:
node The node (command) to perform the action on.
sessionid The session ID of an already running adhoc command session.
action The action to perform.
form An optional DataForm to include in the request. Will be deleted in Command's destructor.

Definition at line 92 of file adhoc.cpp.

Command ( const std::string &  node,
const std::string &  sessionid,
Status  status,
DataForm form = 0 
)

Creates a Command object that can be used to perform the provided Action. This constructor is used best to reply to an execute request.

Parameters:
node The node (command) to perform the action on.
sessionid The (possibly newly created) session ID of the adhoc command session.
status The execution status.
form An optional DataForm to include in the reply. Will be deleted in Command's destructor.

Definition at line 85 of file adhoc.cpp.

Command ( const std::string &  node,
const std::string &  sessionid,
Status  status,
Action  executeAction,
int  allowedActions = Complete,
DataForm form = 0 
)

Creates a Command object that can be used to perform the provided Action. This constructor is used best to reply to a multi stage command that is not yet completed (for which the session ID must be known).

Parameters:
node The node (command) to perform the action on.
sessionid The (possibly newly created) session ID of the adhoc command session.
status The execution status.
executeAction The action to execute.
allowedActions Allowed reply actions.
form An optional DataForm to include in the reply. Will be deleted in Command's destructor.

Definition at line 100 of file adhoc.cpp.

Command ( const std::string &  node,
Action  action,
DataForm form = 0 
)

Creates a Command object that can be used to perform the provided Action. This constructor is used best to execute the initial step of a command (single or multi stage).

Parameters:
node The node (command) to perform the action on.
action The action to perform.
form An optional DataForm to include in the request. Will be deleted in Command's destructor.

Definition at line 78 of file adhoc.cpp.

Command ( const Tag tag = 0  ) 

Creates a Command object from the given Tag.

Parameters:
tag A <command> tag in the adhoc commands' namespace.

Definition at line 108 of file adhoc.cpp.

~Command (  )  [virtual]

Virtual destructor.

Definition at line 145 of file adhoc.cpp.


Member Function Documentation

Action action (  )  const [inline]

Returns the command's action.

Returns:
The command's action.

Definition at line 286 of file adhoc.h.

int actions (  )  const [inline]

Returns the ORed actions that are allowed to be executed on the current stage.

Returns:
An int containing the ORed actions.

Definition at line 293 of file adhoc.h.

void addNote ( const Note note  )  [inline]

Use this function to add a note to the command.

Parameters:
note A pointer to a Note object. The Command will own the Note.

Definition at line 306 of file adhoc.h.

virtual StanzaExtension* clone (  )  const [inline, virtual]

Returns an identical copy of the current StanzaExtension.

Returns:
An identical copy of the current StanzaExtension.

Implements StanzaExtension.

Definition at line 327 of file adhoc.h.

const std::string & filterString (  )  const [virtual]

Returns an XPath expression that describes a path to child elements of a stanza that an extension handles.

Returns:
The extension's filter string.

Implements StanzaExtension.

Definition at line 151 of file adhoc.cpp.

const DataForm* form (  )  const [inline]

Returns the command's embedded DataForm.

Returns:
The command's embedded DataForm. May be 0.

Definition at line 312 of file adhoc.h.

virtual StanzaExtension* newInstance ( const Tag tag  )  const [inline, virtual]

Returns a new Instance of the derived type. Usually, for a derived class FooExtension, the implementation of this function looks like:

 StanzaExtension* FooExtension::newInstance( const Tag* tag ) const
 {
   return new FooExtension( tag );
 }
Returns:
The derived extension's new instance.

Implements StanzaExtension.

Definition at line 318 of file adhoc.h.

const std::string& node (  )  const [inline]

Returns the node identifier (the command).

Returns:
The node identifier.

Definition at line 267 of file adhoc.h.

const NoteList& notes (  )  const [inline]

Returns the list of notes associated with the command.

Returns:
The list of notes.

Definition at line 299 of file adhoc.h.

const std::string& sessionID (  )  const [inline]

Returns the command's session ID, if any.

Returns:
The command's session ID.

Definition at line 273 of file adhoc.h.

Status status (  )  const [inline]

Returns the execution status for a command. Only valid for execution results.

Returns:
The execution status for a command.

Definition at line 280 of file adhoc.h.

Tag * tag (  )  const [virtual]

Returns a Tag representation of the extension.

Returns:
A Tag representation of the extension.

Implements StanzaExtension.

Definition at line 157 of file adhoc.cpp.


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

Generated by  doxygen 1.6.2