FDO API Reference Feature Data Objects

ClassCollection.h

Go to the documentation of this file.
00001 #ifndef _CLASSCOLLECTION_H_
00002 #define _CLASSCOLLECTION_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 <FdoStd.h>
00026 #include <Fdo/Schema/ClassDefinition.h>
00027 #include <Fdo/Schema/SchemaCollection.h>
00028 
00029 /// \brief
00030 /// The FdoClassCollection class represents a collection of FdoClassDefinition classes.
00031 class FdoClassCollection: public FdoSchemaCollection<FdoClassDefinition> 
00032 {
00033     friend class FdoFeatureSchema;
00034 
00035 protected:
00036 /// \cond DOXYGEN-IGNORE
00037     FdoClassCollection()
00038     {
00039     }
00040 
00041     /// Constructs an instance of a ClassCollection using the specified argument.
00042     FdoClassCollection(FdoSchemaElement* parent) : FdoSchemaCollection<FdoClassDefinition>(parent)
00043     {
00044     }
00045 
00046     virtual ~FdoClassCollection()
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 FdoClassCollection using the specified argument.
00059     /// 
00060     /// \param parent 
00061     /// Input parent FdoSchemeElement
00062     /// 
00063     /// \return
00064     /// Returns FdoClassCollection
00065     /// 
00066     FDO_API static FdoClassCollection* Create(FdoSchemaElement* parent);
00067 };
00068 
00069 /// \brief
00070 /// FdoClassesP is a FdoPtr on FdoClassCollection, provided for convenience.
00071 typedef FdoPtr<FdoClassCollection> FdoClassesP;
00072 
00073 #endif
00074 
00075 

Comments or suggestions? Send us feedback.