Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

Adhoc::Command Class Reference

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

#include <adhoc.h>

Inherits StanzaExtension.

Inheritance diagram for Adhoc::Command:

Inheritance graph
[legend]
List of all members.

Public Types

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

Public Member Functions

 Command (const std::string &node, const std::string &sessionid, Action action)
 Command (const std::string &node, const std::string &sessionid, Status status, DataForm *form=0)
 Command (const std::string &node, Action action)
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

Classes

class  Note

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.

Enumeration values:
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.

Enumeration values:
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
 

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.

Definition at line 93 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 86 of file adhoc.cpp.

Command const std::string &  node,
Action  action
 

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.

Definition at line 80 of file adhoc.cpp.


Member Function Documentation

Action action  )  const [inline]
 

Returns the command's action.

Returns:
The command's action.

Definition at line 253 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 260 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 273 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 149 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 279 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 285 of file adhoc.h.

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

Returns the node identifier (the command).

Returns:
The node identifier.

Definition at line 234 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 266 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 240 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 247 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 155 of file adhoc.cpp.


The documentation for this class was generated from the following files:
Generated on Tue Apr 22 15:10:13 2008 for gloox by  doxygen 1.4.1