OSGeo FDO Provider for MySQL API Reference

OSGeo FDO Provider for MySQL API

API Reference OSGeo FDO Provider for MySQL

PostGisOvDataPropertyDefinition.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 FDOPOSTGISOVDATAPROPERTYDEFINITION_H
00018 #define FDOPOSTGISOVDATAPROPERTYDEFINITION_H
00019 
00020 #include <FdoCommon.h>
00021 #include <Rdbms/Override/RdbmsOvDataPropertyDefinition.h>
00022 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00023 #include <Rdbms/Override/PostGIS/PostGisOvColumn.h>
00024 #include <Rdbms/Override/PostGIS/PostGisOvPropertyDefinition.h>
00025 
00026 /// \brief
00027 /// Concrete class defining physical schema overrides for a data 
00028 /// property definition.
00029 ///
00030 class FdoPostGISOvDataPropertyDefinition :
00031     public FdoRdbmsOvDataPropertyDefinition,
00032     public FdoPostGISOvPropertyDefinition
00033 {
00034 public:
00035  
00036     /// \brief
00037     /// Named constructor.
00038     /// Creates default instance of FdoPostGISOvDataPropertyDefinition.
00039     /// 
00040     /// \return
00041     /// Pointer to new instance of FdoPostGISOvDataPropertyDefinition.
00042     /// 
00043     FDOPOSTGIS_OV_API static FdoPostGISOvDataPropertyDefinition* Create();
00044 
00045     /// Named constructor for FdoPostGISOvDataPropertyDefinition.
00046     /// 
00047     /// \param
00048     /// name [in] - name of property definition.
00049     ///
00050     /// \return
00051     /// Pointer to new instance of FdoPostGISOvDataPropertyDefinition.
00052     /// 
00053     FDOPOSTGIS_OV_API static FdoPostGISOvDataPropertyDefinition* Create(FdoString* name);
00054 
00055     /// \brief
00056     /// Gets the PostGIS override column.
00057     /// 
00058     /// \return PostGIS override column.
00059     /// 
00060     FDOPOSTGIS_OV_API FdoPostGISOvColumn* GetColumn();
00061 
00062     /// \brief
00063     /// Sets the PostGIS column.
00064     /// 
00065     /// \param
00066     /// column [in] - pointer to column definition.
00067     /// 
00068     FDOPOSTGIS_OV_API void SetColumn(FdoPostGISOvColumn *column);
00069 
00070 protected:
00071     
00072     /// Default constructor.
00073     FdoPostGISOvDataPropertyDefinition();
00074 
00075     /// Alternative constructor.
00076     /// \param name [in] - name of class definition.
00077     FdoPostGISOvDataPropertyDefinition(FdoString* name);
00078 
00079     /// Destructor
00080     virtual ~FdoPostGISOvDataPropertyDefinition();
00081 
00082     /// Named destructor.
00083     virtual void Dispose();
00084 
00085 private:
00086 
00087 };
00088 
00089 /// \brief
00090 /// Declaration of smart-pointer type for FdoPostGISOvDataPropertyDefinition.
00091 /// Provided for convenience.
00092 ///
00093 typedef FdoPtr<FdoPostGISOvDataPropertyDefinition> FdoPostGISOvDataPropertyP;
00094 
00095 #endif // FDOPOSTGISOVDATAPROPERTYDEFINITION_H

Comments?