FDO API Reference | Feature Data Objects |
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. |