00001 #ifndef FDO_RDBMSOVCLASSCOLLECTION_H
00002 #define FDO_RDBMSOVCLASSCOLLECTION_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 /// <library>
00022 /// FdoRdbms.lib
00023 /// </library>
00024
00025 #include <Rdbms/Override/RdbmsOvClassDefinition.h>
00026 #include <Fdo/Commands/Schema/PhysicalElementMappingCollection.h>
00027
00028 //DOM-IGNORE-BEGIN
00029 ///<summary>Concrete class defining physical schema overrides for a collection of class
00030 ///definitions.</summary>
00031 class FdoRdbmsOvClassCollection : public FdoPhysicalElementMappingCollection<FdoRdbmsOvClassDefinition>
00032 {
00033 public:
00034 ///<summary>Constructs a default instance of an FdoRdbmsOvClassCollection</summary>
00035 /// <returns>Returns FdoRdbmsOvClassCollection</returns>
00036 static FdoRdbmsOvClassCollection* Create();
00037
00038 ///<summary>Constructs an instance of an FdoRdbmsOvClassCollection using the specified arguments</summary>
00039 /// <param name="parent">Input parent</param>
00040 /// <returns>Returns FdoRdbmsOvClassCollection</returns>
00041 static FdoRdbmsOvClassCollection* Create(FdoPhysicalElementMapping* parent);
00042
00043 protected:
00044 FdoRdbmsOvClassCollection();
00045 FdoRdbmsOvClassCollection(FdoPhysicalElementMapping* parent);
00046 virtual ~FdoRdbmsOvClassCollection();
00047 virtual void Dispose();
00048 };
00049
00050 ///<summary>FdoRdbmsOvClassesP is a FdoPtr on FdoRdbmsOvClassCollection, provided for convenience.</summary>
00051 typedef FdoPtr<FdoRdbmsOvClassCollection> FdoRdbmsOvClassesP;
00052 //DOM-IGNORE-END
00053
00054 ///<summary>Collection of class overrides for an RDBMS-type provider.
00055 ///Members cannot be added to or removed from this collection.
00056 ///</summary>
00057 class FdoRdbmsOvReadOnlyClassCollection : public FdoReadOnlyNamedCollection<FdoRdbmsOvClassDefinition,FdoRdbmsOvClassCollection>
00058 {
00059 //DOM-IGNORE-BEGIN
00060 public:
00061 ///<summary>Constructs a default of an FdoRdbmsReadOnlyOvClassCollection</summary>
00062 /// <returns>Returns FdoRdbmsOvReadOnlyClassCollection</returns>
00063 static FdoRdbmsOvReadOnlyClassCollection* Create();
00064
00065 ///<summary>Constructs an instance of an FdoRdbmsOvReadOnlyClassCollection using the specified arguments</summary>
00066 /// <param name="parent">Input parent</param>
00067 /// <returns>Returns FdoRdbmsOvReadOnlyClassCollection</returns>
00068 static FdoRdbmsOvReadOnlyClassCollection* Create(FdoRdbmsOvClassCollection* baseCollection);
00069
00070 protected:
00071 FdoRdbmsOvReadOnlyClassCollection();
00072 FdoRdbmsOvReadOnlyClassCollection(FdoRdbmsOvClassCollection* baseCollection);
00073 virtual ~FdoRdbmsOvReadOnlyClassCollection();
00074 virtual void Dispose();
00075 //DOM-IGNORE-END
00076 };
00077
00078 ///<summary>FdoRdbmsOvReadOnlyClassesP is a FdoPtr on FdoRdbmsOvReadOnlyClassCollection, provided for convenience.</summary>
00079 typedef FdoPtr<FdoRdbmsOvReadOnlyClassCollection> FdoRdbmsOvReadOnlyClassesP;
00080
00081
00082 #endif
00083