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

dataformfieldcontainer.h

00001 /*
00002   Copyright (c) 2005-2008 by Jakob Schroeter <js@camaya.net>
00003   This file is part of the gloox library. http://camaya.net/gloox
00004 
00005   This software is distributed under a license. The full license
00006   agreement can be found in the file LICENSE in this distribution.
00007   This software may not be copied, modified, sold or distributed
00008   other than expressed in the named license agreement.
00009 
00010   This software is distributed without any warranty.
00011 */
00012 
00013 
00014 #ifndef DATAFORMFIELDCONTAINER_H__
00015 #define DATAFORMFIELDCONTAINER_H__
00016 
00017 #include "dataformfield.h"
00018 
00019 #include <string>
00020 #include <list>
00021 
00022 namespace gloox
00023 {
00024 
00025   class DataFormField;
00026 
00035   class GLOOX_API DataFormFieldContainer
00036   {
00037     public:
00041       DataFormFieldContainer();
00042 
00047       DataFormFieldContainer( const DataFormFieldContainer& dffc );
00048 
00052       virtual ~DataFormFieldContainer();
00053 
00057       typedef std::list<DataFormField*> FieldList;
00058 
00064       bool hasField( const std::string& field ) const
00065         { return DataFormFieldContainer::field( field ) != 0; }
00066 
00073       DataFormField* field( const std::string& field ) const;
00074 
00079       FieldList& fields() { return m_fields; }
00080 
00086       virtual void setFields( FieldList& fields ) { m_fields = fields; }
00087 
00093       virtual void addField( DataFormField* field ) { m_fields.push_back( field ); }
00094 
00103       DataFormField* addField( DataFormField::FieldType type, const std::string& name,
00104                                const std::string& value = EmptyString,
00105                                const std::string& label = EmptyString )
00106       {
00107         DataFormField* field = new DataFormField( name, value, label, type );
00108         m_fields.push_back( field );
00109         return field;
00110       }
00111 
00112     protected:
00113       FieldList m_fields;
00114 
00115   };
00116 
00117 }
00118 
00119 #endif // DATAFORMFIELDCONTAINER_H__

Generated on Mon Jun 23 10:50:18 2008 for gloox by  doxygen 1.4.1