gloox  1.1-svn
Classes | Public Types | Public Member Functions | List of all members
Adhoc::Command Class Reference

#include <adhoc.h>

Inheritance diagram for Adhoc::Command:
Inheritance graph
[legend]

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
- Public Member Functions inherited from StanzaExtension
 StanzaExtension (int type)
virtual ~StanzaExtension ()
int extensionType () const

Detailed Description

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

Author
Jakob Schroeter js@ca.nosp@m.maya.nosp@m..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
nodeThe node (command) to perform the action on.
sessionidThe session ID of an already running adhoc command session.
actionThe action to perform.
formAn optional DataForm to include in the request. Will be deleted in Command's destructor.

Definition at line 94 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
nodeThe node (command) to perform the action on.
sessionidThe (possibly newly created) session ID of the adhoc command session.
statusThe execution status.
formAn optional DataForm to include in the reply. Will be deleted in Command's destructor.

Definition at line 87 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
nodeThe node (command) to perform the action on.
sessionidThe (possibly newly created) session ID of the adhoc command session.
statusThe execution status.
executeActionThe action to execute.
allowedActionsAllowed reply actions.
formAn optional DataForm to include in the reply. Will be deleted in Command's destructor.

Definition at line 102 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
nodeThe node (command) to perform the action on.
actionThe action to perform.
formAn optional DataForm to include in the request. Will be deleted in Command's destructor.

Definition at line 80 of file adhoc.cpp.

Command ( const Tag tag = 0)

Creates a Command object from the given Tag.

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

Definition at line 110 of file adhoc.cpp.

~Command ( )
virtual

Virtual destructor.

Definition at line 147 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
noteA pointer to a Note object. The Command will own the Note.

Definition at line 306 of file adhoc.h.

virtual StanzaExtension* clone ( ) const
inlinevirtual

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 153 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
inlinevirtual

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

{
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 159 of file adhoc.cpp.


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