FDO API Reference Feature Data Objects

PropertyDefinitionCollection.h

Go to the documentation of this file.
00001 #ifndef _PROPERTYDEFINITIONCOLLECTION_H_
00002 #define _PROPERTYDEFINITIONCOLLECTION_H_
00003 
00004 //
00005 // Copyright (C) 2004-2006  Autodesk, Inc.
00006 // 
00007 // This library is free software; you can redistribute it and/or
00008 // modify it under the terms of version 2.1 of the GNU Lesser
00009 // General Public License as published by the Free Software Foundation.
00010 // 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 // 
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019 //
00020 
00021 #ifdef _WIN32
00022 #pragma once
00023 #endif
00024 
00025 #include <Fdo/Schema/PropertyDefinition.h>
00026 #include <Fdo/Schema/SchemaCollection.h>
00027 
00028 class FdoClassDefinition;
00029 
00030 /// \brief
00031 /// The FdoPropertyDefinitionCollection class represents a collection of FdoPropertyDefinition objects.
00032 class FdoPropertyDefinitionCollection: public FdoSchemaCollection<FdoPropertyDefinition> 
00033 {
00034     friend class FdoClassDefinition;
00035 
00036 protected:
00037 /// \cond DOXYGEN-IGNORE
00038     FdoPropertyDefinitionCollection()
00039     {
00040     }
00041     /// Constructs a default empty instance of an FdoPropertyDefinitionCollection.
00042     FdoPropertyDefinitionCollection(FdoSchemaElement* parent):FdoSchemaCollection<FdoPropertyDefinition>(parent)
00043     {
00044     }
00045 
00046     virtual ~FdoPropertyDefinitionCollection()
00047     {
00048     }
00049 
00050     virtual void Dispose()
00051     {
00052         delete this;
00053     }
00054 /// \endcond
00055 
00056 public:
00057     /// \brief
00058     /// Constructs an instance of an FdoPropertyDefinitionCollection using the specified argument.
00059     /// 
00060     /// \param parent 
00061     /// Input parent
00062     /// 
00063     /// \return
00064     /// Returns FdoPropertyDefinitionCollection
00065     /// 
00066     FDO_API static FdoPropertyDefinitionCollection* Create(FdoSchemaElement* parent);
00067 
00068     /// \brief
00069     /// Removes the specified item from the collection. Throws an invalid argument exception if the item does not exist within the collection.
00070     /// 
00071     /// \param value 
00072     /// Input value
00073     /// 
00074     /// \return
00075     /// Returns nothing
00076     /// 
00077     FDO_API virtual void Remove(const FdoSchemaElement* value);
00078 
00079     /// \brief
00080     /// Removes the specified item from the collection. Throws an invalid argument exception if the item does not exist within the collection.
00081     /// 
00082     /// \param index 
00083     /// Input index
00084     /// 
00085     /// \return
00086     /// Returns nothing
00087     /// 
00088     FDO_API virtual void RemoveAt(FdoInt32 index);
00089 };
00090 
00091 /// \brief
00092 /// FdoPropertiesP is a FdoPtr on FdoPropertyDefinitionCollection, provided for convenience.
00093 typedef FdoPtr<FdoPropertyDefinitionCollection> FdoPropertiesP;
00094 
00095 #endif
00096 
00097 

Comments or suggestions? Send us feedback.