DataForm Class Reference

`#include <dataform.h>`

Inheritance diagram for DataForm:
[legend]

## Public Types

typedef std::list< DataFormItem * > | ItemList
Public Types inherited from DataFormFieldContainer
typedef std::list< DataFormField * > | FieldList

## 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 StringList & | instructions () const
void | setInstructions (const StringList &instructions)
const DataFormReported * | reported () const
const ItemList & | items () const
FormType | type () const
void | setType (FormType type)
bool | parse (const Tag *tag)
| operator bool () const
virtual const std::string & | filterString () const
virtual StanzaExtension * | newInstance (const Tag *tag) const
virtual Tag * | tag () const
virtual StanzaExtension * | clone () const
Public Member Functions inherited from AdhocPlugin
| AdhocPlugin (int type)
virtual | ~AdhocPlugin ()
Public Member Functions inherited from StanzaExtension
| StanzaExtension (int type)
virtual | ~StanzaExtension ()
virtual Stanza * | embeddedStanza () const
virtual Tag * | embeddedTag () const
int | extensionType () const
Public Member Functions inherited from DataFormFieldContainer
| DataFormFieldContainer ()
| DataFormFieldContainer (const DataFormFieldContainer &dffc)
virtual | ~DataFormFieldContainer ()
bool | hasField (const std::string &field) const
DataFormField * | field (const std::string &field) const
FieldList & | fields ()
const FieldList & | fields () const
virtual void | setFields (FieldList &fields)
virtual void | addField (DataFormField *field)
DataFormField * | addField (DataFormField::FieldType type, const std::string &name, const std::string &value=EmptyString, const std::string &label=EmptyString)

## Detailed Description

An abstraction of a XEP-0004 Data Form.

Author
  Jakob Schröter js@ca.nosp@m.maya.nosp@m..net

Since
  0.7

Definition at line 56 of file dataform.h.

## Member Typedef Documentation

## ItemList

typedef std::list<DataFormItem*> ItemList

A list of DataFormItems.

Definition at line 62 of file dataform.h.

## Constructor & Destructor Documentation

## DataForm() [1/4]

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() [2/4]

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() [3/4]

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() [4/4]

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()

~DataForm | ( |  | ) |

virtual

Virtual destructor.

Definition at line 50 of file dataform.cpp.

## Member Function Documentation

## clone()

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 178 of file dataform.h.

## filterString()

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

## instructions()

const StringList & instructions | ( |  | ) | const

inline

Retrieves the natural-language instructions for the form.

Returns
  The fill-in instructions for the form.

Definition at line 116 of file dataform.h.

## items()

const ItemList & items | ( |  | ) | const

inline

Returns a list of items in a DataForm.

Returns
  A list of items.

Definition at line 137 of file dataform.h.

## newInstance()

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 );
}
gloox::DataForm::tag
virtual Tag * tag() const
Definition dataform.cpp:106
gloox::StanzaExtension
This class abstracts a stanza extension, which is usually an XML child element in a specific namespac...
Definition stanzaextension.h:204
gloox::Tag
This is an abstraction of an XML element.
Definition tag.h:47

Returns
  The derived extension's new instance.

Implements StanzaExtension.

Definition at line 169 of file dataform.h.

## operator bool()

operator bool | ( |  | ) | const

inline virtual

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

Implements AdhocPlugin.

Definition at line 163 of file dataform.h.

## parse()

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

## reported()

const DataFormReported * reported | ( |  | ) | const

inline

Returns the reported field list in a DataForm.

Returns
  The reported section, containing 0..n fields.

Definition at line 131 of file dataform.h.

## setInstructions()

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 125 of file dataform.h.

## setTitle()

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 110 of file dataform.h.

## setType()

void setType | ( | FormType | type | ) |

inline

Sets the form's type.

Parameters

  type | The form's new type.

Definition at line 150 of file dataform.h.

## tag()

Tag * tag | ( |  | ) | const

virtual

Returns a Tag representation of the extension.

Returns
  A Tag representation of the extension.

Implements StanzaExtension.

Definition at line 106 of file dataform.cpp.

## title()

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 103 of file dataform.h.

## type()

FormType type | ( |  | ) | const

inline

Returns the form's type.

Returns
  The form's type.

Since
  0.9

Definition at line 144 of file dataform.h.

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

- dataform.h
- dataform.cpp