gloox  0.9.9.12
Public Types | Public Member Functions | List of all members
DataForm Class Reference

#include <dataform.h>

Inheritance diagram for DataForm:
Inheritance graph
[legend]
Collaboration diagram for DataForm:
Collaboration graph
[legend]

Public Types

enum  DataFormType {
  FormTypeForm, FormTypeSubmit, FormTypeCancel, FormTypeResult,
  FormTypeInvalid
}
- Public Types inherited from DataFormBase
typedef std::list
< DataFormField * > 
FieldList

Public Member Functions

 DataForm (DataFormType type, const StringList &instructions, const std::string &title="")
 DataForm (DataFormType type, const std::string &title="")
 DataForm (Tag *tag)
 DataForm ()
virtual ~DataForm ()
Tagtag () const
const std::string & title () const
void setTitle (const std::string &title)
const StringListinstructions () const
void setInstructions (const StringList &instructions)
DataForm::DataFormType type () const
bool parse (Tag *tag)
- Public Member Functions inherited from DataFormBase
 DataFormBase ()
virtual ~DataFormBase ()
bool hasField (const std::string &field)
DataFormFieldfield (const std::string &field)
FieldListfields ()
virtual void setFields (FieldList &fields)
virtual void addField (DataFormField *field)
DataFormFieldaddField (DataFormField::DataFormFieldType type, const std::string &name, const std::string &value="", const std::string &label="")

Detailed Description

An abstraction of a XEP-0004 Data Form.

Author
Jakob Schroeter js@ca.nosp@m.maya.nosp@m..net
Since
0.7

Definition at line 35 of file dataform.h.

Member Enumeration Documentation

Describes the possible Form Types.

Enumerator:
FormTypeForm 

The forms-processing entity is asking the forms-submitting entity to complete a form.

FormTypeSubmit 

The forms-submitting entity is submitting data to the forms-processing entity.

FormTypeCancel 

The forms-submitting entity has cancelled submission of data to the forms-processing entity.

FormTypeResult 

The forms-processing entity is returning data (e.g., search results) to the forms-submitting entity, or the data is a generic data set.

FormTypeInvalid 

The form is invalid. Only possible if the form was created from an Tag which doesn't correctly describe a Data Form.

Definition at line 41 of file dataform.h.

Constructor & Destructor Documentation

DataForm ( DataFormType  type,
const StringList instructions,
const std::string &  title = "" 
)

Constructs a new, empty form.

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

Definition at line 23 of file dataform.cpp.

DataForm ( DataFormType  type,
const std::string &  title = "" 
)

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

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

Definition at line 28 of file dataform.cpp.

DataForm ( Tag tag)

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

Parameters
tagThe existing form to parse.

Definition at line 33 of file dataform.cpp.

DataForm ( )

Constructs an empty DataForm. Its type is FormTypeInvalid.

Definition at line 39 of file dataform.cpp.

~DataForm ( )
virtual

Virtual destructor.

Definition at line 44 of file dataform.cpp.

Member Function Documentation

const StringList& instructions ( ) const
inline

Retrieves the natural-language instructions for the form.

Returns
The fill-in instructions for the form.

Definition at line 114 of file dataform.h.

bool parse ( Tag tag)

Parses the given Tag and creates an appropriate DataForm representation.

Parameters
tagThe Tag to parse.
Returns
True on success, false otherwise.
Since
0.9

Definition at line 48 of file dataform.cpp.

void setInstructions ( const StringList instructions)
inline

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

Parameters
instructionsThe 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 123 of file dataform.h.

void setTitle ( const std::string &  title)
inline

Use this function to set the title of the form.

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

Definition at line 108 of file dataform.h.

Tag * tag ( ) const

Use this function to create a Tag representation of the form.

Returns
A Tag hierarchically describing the form, or NULL if the form is invalid (i.e. created from a Tag not correctly describing a Data Form).
Note
The caller is responsible for deleting the Tag.

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

DataForm::DataFormType type ( ) const
inline

Returns the form's type.

Returns
The form's type.
Since
0.9

Definition at line 130 of file dataform.h.


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