OSGeo FDO Provider for ODBC API Reference

OSGeo FDO Provider for ODBC API

API Reference OSGeo FDO Provider for ODBC

PostGisOvPropertyDefinitionCollection.h

Go to the documentation of this file.
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 FDOPOSTGISOVPROPERTYDEFINITIONCOLLECTION_H
00018 #define FDOPOSTGISOVPROPERTYDEFINITIONCOLLECTION_H
00019 
00020 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00021 #include <Rdbms/Override/PostGIS/PostGisOvPropertyDefinition.h>
00022 #include <Rdbms/Override/RdbmsOvPropertyDefinitionCollection.h>
00023 #include <Fdo/Commands/Schema/PhysicalElementMappingCollection.h>
00024 
00025 /// \brief
00026 /// Local alias of base type for FdoPostGISOvPropertyDefinitionCollection.
00027 ///
00028 typedef FdoRestrictedNamedCollection
00029     <
00030     FdoRdbmsOvPropertyDefinition,
00031     FdoPostGISOvPropertyDefinition,
00032     FdoRdbmsOvPropertyDefinitionCollection
00033     >
00034     FdoPostGISOvPropertyDefinitionCollectionBase;
00035 
00036 /// \brief
00037 /// Concrete class defining physical schema overrides for collection
00038 /// of property definitions.
00039 /// This class is used in PostGIS schema overrides.
00040 /// 
00041 class FdoPostGISOvPropertyDefinitionCollection : 
00042     public FdoPostGISOvPropertyDefinitionCollectionBase
00043 {
00044 public:
00045 
00046     /// \brief
00047     /// Constructs a default of an FdoPostGISOvPropertyDefinitionCollection
00048     /// 
00049     /// \return
00050     /// Returns FdoPostGISOvPropertyDefinitionCollection
00051     /// 
00052     FDOPOSTGIS_OV_API static FdoPostGISOvPropertyDefinitionCollection* Create();
00053 
00054     /// \brief
00055     /// Named constructor.
00056     /// Creates new instance based on given collection.
00057     /// 
00058     /// \param
00059     /// base [in] - pointer to base collection.
00060     /// 
00061     /// \return
00062     /// Pointer to new FdoPostGISOvPropertyDefinitionCollection instance.
00063     /// 
00064 
00065     FDOPOSTGIS_OV_API static FdoPostGISOvPropertyDefinitionCollection* Create(
00066         FdoRdbmsOvPropertyDefinitionCollection* base);
00067 
00068 protected:
00069 
00070     /// Default constructor.
00071     FdoPostGISOvPropertyDefinitionCollection();
00072     
00073     /// Alternative constructor.
00074     /// base [in] - pointer to base collection.
00075     FdoPostGISOvPropertyDefinitionCollection(
00076         FdoRdbmsOvPropertyDefinitionCollection* base);
00077     
00078     /// Destructor.
00079     virtual ~FdoPostGISOvPropertyDefinitionCollection();
00080 
00081     /// Named destructor.
00082     /// Responsible for final destruction calling
00083     /// \code delete this \endcode.
00084     virtual void Dispose();
00085 
00086     virtual FdoPostGISOvPropertyDefinition* DownCast(
00087         FdoRdbmsOvPropertyDefinition* value) const;
00088 
00089 };
00090 
00091 /// \brief
00092 /// Declaration of smart-pointer type for 
00093 /// FdoPostGISOvPropertyDefinitionCollection.
00094 /// Provided for convenience.
00095 ///
00096 typedef FdoPtr<FdoPostGISOvPropertyDefinitionCollection> 
00097     FdoPostGISOvPropertiesP;
00098 
00099 #endif // FDOPOSTGISOVPROPERTYDEFINITIONCOLLECTION_H

Comments?