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

DataForm Class Reference

An abstraction of a XEP-0004 Data Form. More...

#include <dataform.h>

Inherits StanzaExtension, and DataFormFieldContainer.

Inheritance diagram for DataForm:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 DataForm (FormType type, const StringList &instructions, const std::string &title=EmptyString)
 DataForm (FormType type, const std::string &title=EmptyString)
 DataForm (const Tag *tag)
 DataForm (const DataForm &form)
virtual ~DataForm ()
const std::string & title () const
void setTitle (const std::string &title)
const StringListinstructions () const
void setInstructions (const StringList &instructions)
FormType type () const
void setType (FormType type)
bool parse (const Tag *tag)
 operator bool () const
virtual const std::string & filterString () const
virtual StanzaExtensionnewInstance (const Tag *tag) const
virtual Tagtag () const

Detailed Description

An abstraction of a XEP-0004 Data Form.

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

Definition at line 56 of file dataform.h.


Constructor & Destructor Documentation

DataForm FormType  type,
const StringList instructions,
const std::string &  title = EmptyString
 

Constructs a new, empty form.

Parameters:
type The form type.
instructions Natural-language instructions for filling out the form. Should not contain newlines (\n, \r).
title The natural-language title of the form. Should not contain newlines (\n, \r).

Definition at line 24 of file dataform.cpp.

DataForm FormType  type,
const std::string &  title = EmptyString
 

Constructs a new, empty form without any instructions or title set. Probably best suited for result forms.

Parameters:
type The form type.
title The natural-language title of the form. Should not contain newlines (\n, \r).
Since:
0.9

Definition at line 30 of file dataform.cpp.

DataForm const Tag tag  ) 
 

Constructs a new DataForm from an existing Tag/XML representation.

Parameters:
tag The existing form to parse.

Definition at line 36 of file dataform.cpp.

DataForm const DataForm form  ) 
 

Creates a new DataForm, copying the given one.

Parameters:
form The form to copy.

Definition at line 43 of file dataform.cpp.

~DataForm  )  [virtual]
 

Virtual destructor.

Definition at line 50 of file dataform.cpp.


Member Function Documentation

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 83 of file dataform.cpp.

const StringList& instructions  )  const [inline]
 

Retrieves the natural-language instructions for the form.

Returns:
The fill-in instructions for the form.

Definition at line 111 of file dataform.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 152 of file dataform.h.

operator bool  )  const [inline]
 

Converts to true if the DataForm is valid, false otherwise.

Definition at line 146 of file dataform.h.

bool parse const Tag tag  ) 
 

Parses the given Tag and creates an appropriate DataForm representation.

Parameters:
tag The Tag to parse.
Returns:
True on success, false otherwise.
Since:
0.9

Definition at line 59 of file dataform.cpp.

void setInstructions const StringList instructions  )  [inline]
 

Use this function to set natural-language instructions for the form.

Parameters:
instructions The instructions for the form.
Note:
The instructions should not contain newlines (\n, \r). Instead, every line should be an element of the StringMap. This allows for platform dependent newline handling on the target platform.

Definition at line 120 of file dataform.h.

void setTitle const std::string &  title  )  [inline]
 

Use this function to set the title of the form.

Parameters:
title The new title of the form.
Note:
The title should not contain newlines (\n, \r).

Definition at line 105 of file dataform.h.

void setType FormType  type  )  [inline]
 

Sets the form's type.

Parameters:
type The form's new type.

Definition at line 133 of file dataform.h.

Tag * tag  )  const [virtual]
 

Returns a Tag representation of the extension.

Returns:
A Tag representation of the extension.

Implements StanzaExtension.

Definition at line 89 of file dataform.cpp.

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

Use this function to retrieve the title of the form.

Returns:
The title of the form.

Definition at line 98 of file dataform.h.

FormType type  )  const [inline]
 

Returns the form's type.

Returns:
The form's type.
Since:
0.9

Definition at line 127 of file dataform.h.


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