OSGeo FDO Provider for MySQL API Reference

OSGeo FDO Provider for MySQL API

API Reference OSGeo FDO Provider for MySQL

PostGisOvAssociationPropertyDefinition.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 FDOPOSTGISOVASSOCIATIONPROPERTYDEFINITION_H
00018 #define FDOPOSTGISOVASSOCIATIONPROPERTYDEFINITION_H
00019 
00020 #include <FdoCommon.h>
00021 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00022 #include <Rdbms/Override/PostGIS/PostGisOvPropertyDefinitionCollection.h>
00023 #include <Rdbms/Override/RdbmsOvAssociationPropertyDefinition.h>
00024 
00025 /// \brief
00026 /// Concrete class defining physical schema overrides for association
00027 /// property definition.
00028 ///
00029 class FdoPostGISOvAssociationPropertyDefinition :
00030     public FdoPostGISOvPropertyDefinition,
00031     public FdoRdbmsOvAssociationPropertyDefinition
00032 {
00033 public:
00034 
00035     /// \brief
00036     /// Named constructor.
00037     /// Creates instance with default state initialized.
00038     /// 
00039     /// \return
00040     /// Pointer to new instance of FdoPostGISOvAssociationPropertyDefinition.
00041     /// 
00042     FDOPOSTGIS_OV_API static FdoPostGISOvAssociationPropertyDefinition* Create();
00043 
00044     /// \brief
00045     /// Named constructor.
00046     /// Creates new instance with given name.
00047     /// 
00048     /// \param
00049     /// name [in] - name for new association.
00050     /// 
00051     /// \return
00052     /// Pointer to new instance of FdoPostGISOvAssociationPropertyDefinition.
00053     /// 
00054     FDOPOSTGIS_OV_API static FdoPostGISOvAssociationPropertyDefinition* Create(
00055         FdoString* name);
00056 
00057     /// \brief
00058     /// Gets a collection of property definitions
00059     /// 
00060     /// \return
00061     /// Pointer to collection of property definitions.
00062     /// 
00063     FDOPOSTGIS_OV_API FdoPostGISOvPropertyDefinitionCollection *GetIdentityProperties();
00064 
00065 protected:
00066 
00067     /// Default constructor.
00068     FdoPostGISOvAssociationPropertyDefinition();
00069 
00070     /// Alternative constructor.
00071     /// \param name [in] - name of association definition.
00072     FdoPostGISOvAssociationPropertyDefinition(FdoString* name);
00073 
00074     /// Destructor.
00075     virtual ~FdoPostGISOvAssociationPropertyDefinition();
00076 
00077     /// Named destructor.
00078     virtual void Dispose();
00079 
00080 private:
00081 
00082     /// Named constructor.
00083     /// Called from class constructors.
00084     void Init();
00085 
00086     /// Collection of properties definition.
00087     FdoPostGISOvPropertiesP mPropertyDefinitions;
00088 };
00089 
00090 #endif // FDOPOSTGISOVASSOCIATIONPROPERTYDEFINITION_H

Comments?