gloox  1.0.20
Public Types | Public Member Functions | List of all members
DataFormFieldContainer Class Reference

#include <dataformfieldcontainer.h>

Inheritance diagram for DataFormFieldContainer:
Inheritance graph
[legend]

Public Types

typedef std::list< DataFormField * > FieldList
 

Public Member Functions

 DataFormFieldContainer ()
 
 DataFormFieldContainer (const DataFormFieldContainer &dffc)
 
virtual ~DataFormFieldContainer ()
 
bool hasField (const std::string &field) const
 
DataFormFieldfield (const std::string &field) const
 
FieldListfields ()
 
const FieldListfields () const
 
virtual void setFields (FieldList &fields)
 
virtual void addField (DataFormField *field)
 
DataFormFieldaddField (DataFormField::FieldType type, const std::string &name, const std::string &value=EmptyString, const std::string &label=EmptyString)
 

Detailed Description

An abstract base class for a XEP-0004 Data Form.

You shouldn't need to use this class directly. Use DataForm instead.

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

Definition at line 35 of file dataformfieldcontainer.h.

Member Typedef Documentation

◆ FieldList

typedef std::list<DataFormField*> FieldList

A list of XEP-0004 Data Form Fields.

Definition at line 57 of file dataformfieldcontainer.h.

Constructor & Destructor Documentation

◆ DataFormFieldContainer() [1/2]

Creates a new FieldContainer.

Definition at line 21 of file dataformfieldcontainer.cpp.

◆ DataFormFieldContainer() [2/2]

Creates a new FieldContainer, copying all fields from the given FieldContainer.

Parameters
dffcThe FieldContainer to copy.

Definition at line 25 of file dataformfieldcontainer.cpp.

◆ ~DataFormFieldContainer()

~DataFormFieldContainer ( )
virtual

Virtual destructor.

Definition at line 34 of file dataformfieldcontainer.cpp.

Member Function Documentation

◆ addField() [1/2]

virtual void addField ( DataFormField field)
inlinevirtual

Use this function to add a single field to the list of existing fields.

Parameters
fieldThe field to add.
Since
0.9

Definition at line 99 of file dataformfieldcontainer.h.

◆ addField() [2/2]

DataFormField* addField ( DataFormField::FieldType  type,
const std::string &  name,
const std::string &  value = EmptyString,
const std::string &  label = EmptyString 
)
inline

Adds a single new Field and returns a pointer to that field.

Parameters
typeThe field's type.
nameThe field's name (the value of the 'var' attribute).
valueThe field's value.
labelThe field's label.
Since
0.9.4

Definition at line 109 of file dataformfieldcontainer.h.

◆ field()

DataFormField * field ( const std::string &  field) const

Use this function to fetch a pointer to a field of the form. If no such field exists, 0 is returned.

Parameters
fieldThe name of the field (the content of the 'var' attribute).
Returns
A copy of the field with the given name if it exists, 0 otherwise.

Definition at line 39 of file dataformfieldcontainer.cpp.

◆ fields() [1/2]

FieldList& fields ( )
inline

Use this function to retrieve the list of fields of a form.

Returns
The list of fields the form contains.

Definition at line 79 of file dataformfieldcontainer.h.

◆ fields() [2/2]

const FieldList& fields ( ) const
inline

Use this function to retrieve the const list of fields of a form.

Returns
The const list of fields the form contains.

Definition at line 85 of file dataformfieldcontainer.h.

◆ hasField()

bool hasField ( const std::string &  field) const
inline

Use this function to check whether this form contains a field with the given name.

Parameters
fieldThe name of the field (the content of the 'var' attribute).
Returns
Whether or not the form contains the named field.

Definition at line 64 of file dataformfieldcontainer.h.

◆ setFields()

virtual void setFields ( FieldList fields)
inlinevirtual

Use this function to set the fields the form contains.

Parameters
fieldsThe list of fields.
Note
Any previously set fields will be deleted. Always set all fields, not a delta.

Definition at line 92 of file dataformfieldcontainer.h.


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