00001 //
00002 // Copyright (C) 2006 Refractions Research, Inc.
00003 //
00004 // This library is free software; you can redistribute it and/or
00005 // modify it under the terms of version 2.1 of the GNU Lesser
00006 // General Public License as published by the Free Software Foundation.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00016 //
00017 #ifndef FDOPOSTGISOVCLASSCOLLECTION_H
00018 #define FDOPOSTGISOVCLASSCOLLECTION_H
00019
00020 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00021 #include <Rdbms/Override/PostGIS/PostGisOvClassDefinition.h>
00022 #include <Rdbms/Override/RdbmsOvClassCollection.h>
00023 #include <Fdo/Commands/Schema/PhysicalElementMappingCollection.h>
00024
00025 /// \brief
00026 /// Local alias of base type for FdoPostGISOvClassCollection.
00027 ///
00028 typedef FdoRestrictedNamedCollection
00029 <
00030 FdoRdbmsOvClassDefinition,
00031 FdoPostGISOvClassDefinition,
00032 FdoRdbmsOvClassCollection
00033 >
00034 FdoPostGISOvClassCollectionBase;
00035
00036 /// \brief
00037 /// Concrete class defining physical schema overrides for
00038 /// collection of classes.
00039 ///
00040 class FdoPostGISOvClassCollection : public FdoPostGISOvClassCollectionBase
00041 {
00042 public:
00043
00044 /// \brief
00045 /// Named constructor.
00046 /// Creates instance with default state initialized.
00047 ///
00048 /// \return
00049 /// Pointer to new FdoPostGISOvClassCollection instance.
00050 ///
00051 FDOPOSTGIS_OV_API static FdoPostGISOvClassCollection* Create();
00052
00053 /// \brief
00054 /// Named constructor.
00055 /// Creates new instance based on given collection.
00056 ///
00057 /// \param
00058 /// base [in] - pointer to base collection.
00059 ///
00060 /// \return
00061 /// Pointer to new FdoPostGISOvClassCollection instance.
00062 ///
00063 FDOPOSTGIS_OV_API static FdoPostGISOvClassCollection* Create(
00064 FdoRdbmsOvClassCollection* base);
00065
00066 protected:
00067
00068 /// Default constructor.
00069 FdoPostGISOvClassCollection();
00070
00071 /// Alternative constructor.
00072 /// base [in] - pointer to base collection.
00073 FdoPostGISOvClassCollection(FdoRdbmsOvClassCollection* base);
00074
00075 /// Destructor.
00076 virtual ~FdoPostGISOvClassCollection();
00077
00078 /// Named destructor.
00079 virtual void Dispose();
00080
00081 virtual FdoPostGISOvClassDefinition* DownCast(
00082 FdoRdbmsOvClassDefinition* value) const;
00083
00084 private:
00085
00086 };
00087
00088 /// \brief
00089 /// Declaration of smart-pointer type for FdoPostGISOvClassCollection.
00090 /// Provided for convenience.
00091 ///
00092 typedef FdoPtr<FdoPostGISOvClassCollection> FdoPostGISOvClassesP;
00093
00094 #endif // FDOPOSTGISOVCLASSCOLLECTION_H