OSGeo FDO Provider for ODBC API Reference

OSGeo FDO Provider for ODBC API

API Reference OSGeo FDO Provider for ODBC

PostGisOvPropertyMappingRelation.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 FDOPOSTGISOVPROPERTYMAPPINGRELATION_H
00018 #define FDOPOSTGISOVPROPERTYMAPPINGRELATION_H
00019 
00020 #include <Rdbms/Override/RdbmsOvPropertyMappingConcrete.h>
00021 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00022 #include <Rdbms/Override/PostGIS/PostGisOvPropertyMappingDefinition.h>
00023 
00024 class FdoPostGISOvClassDefinition;
00025 
00026 /// \brief
00027 /// Abstract class defining the physical schema overrides for
00028 /// relation type object property table mappings.
00029 /// This class is used in PostGIS schema overrides.
00030 ///
00031 class FdoPostGISOvPropertyMappingRelation :
00032     public FdoPostGISOvPropertyMappingDefinition,
00033     public virtual FdoRdbmsOvPropertyMappingRelation
00034 {
00035 public:
00036 
00037     /// Named constructor for FdoPostGISOvPropertyMappingRelation.
00038     /// 
00039     /// \return
00040     /// Pointer to new instance of FdoPostGISOvPropertyMappingRelation.
00041     /// 
00042     FDOPOSTGIS_OV_API FdoPostGISOvClassDefinition* GetInternalClass();
00043 
00044     /// \brief
00045     /// Sets the internal class.
00046     /// 
00047     /// \return
00048     /// Returns nothing
00049     /// 
00050     FDOPOSTGIS_OV_API void SetInternalClass(
00051         FdoPostGISOvClassDefinition* classDef);
00052 
00053 protected:
00054 
00055     /// Default constructor.
00056     FdoPostGISOvPropertyMappingRelation();
00057 
00058     /// Destructor.
00059     virtual ~FdoPostGISOvPropertyMappingRelation();
00060 
00061     /// Creates and optionally attaches an internal class override object.
00062     ///
00063     /// \param
00064     /// attach [in] - 
00065     ///
00066     virtual FdoRdbmsOvClassDefinition* CreateInternalClass(bool attach);
00067 
00068 };
00069 
00070 /// \brief
00071 /// Declaration of smart-pointer type for FdoPostGISOvPropertyMappingRelation.
00072 /// Provided for convenience.
00073 ///
00074 typedef FdoPtr<FdoPostGISOvPropertyMappingRelation>
00075     FdoPostGISOvPropertyMappingRelationP;
00076 
00077 #endif // FDOPOSTGISOVPROPERTYMAPPINGRELATION_H

Comments?