DataForm Class Reference

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

#include <dataform.h>

Inheritance diagram for DataForm:

Inheritance graph
[legend]
Collaboration diagram for DataForm:

Collaboration graph
[legend]

List of all members.

Public Types

enum  DataFormType {
  FormTypeForm, FormTypeSubmit, FormTypeCancel, FormTypeResult,
  FormTypeInvalid
}

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)


Detailed Description

An abstraction of a XEP-0004 Data Form.

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

Definition at line 35 of file dataform.h.


Member Enumeration Documentation

enum DataFormType

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:
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 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:
type The form type.
title The 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:
tag The 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

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.

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

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.

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 123 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.

bool parse ( 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 48 of file dataform.cpp.


The documentation for this class was generated from the following files:
Generated on Sat Nov 10 08:50:32 2007 for gloox by  doxygen 1.5.3-20071008