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 FDOPOSTGISOVGEOMETRICPROPERTYDEFINITION_H
00018 #define FDOPOSTGISOVGEOMETRICPROPERTYDEFINITION_H
00019
00020 #include <Rdbms/Override/RdbmsOvGeometricPropertyDefinition.h>
00021 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00022 #include <Rdbms/Override/PostGIS/PostGisOvGeometricColumn.h>
00023 #include <Rdbms/Override/PostGIS/PostGisOvPropertyDefinition.h>
00024
00025 /// \brief
00026 /// Concrete class defining physical schema overrides for a geometric
00027 /// property definition.
00028 /// This class is used in PostGIS schema overrides.
00029 ///
00030 class FdoPostGISOvGeometricPropertyDefinition :
00031 public FdoRdbmsOvGeometricPropertyDefinition,
00032 public FdoPostGISOvPropertyDefinition
00033 {
00034 public:
00035
00036 /// \brief
00037 /// Constructs a default of an FdoPostGISOvGeometricPropertyDefinition
00038 ///
00039 /// \return
00040 /// Returns FdoPostGISOvGeometricPropertyDefinition
00041 ///
00042 FDOPOSTGIS_OV_API static FdoPostGISOvGeometricPropertyDefinition* Create();
00043
00044 /// \brief
00045 /// Constructs an instance of an FdoPostGISOvGeometricPropertyDefinition
00046 /// using the specified arguments
00047 ///
00048 /// \param name
00049 /// Input name
00050 ///
00051 /// \return
00052 /// Returns FdoPostGISOvGeometricPropertyDefinition
00053 ///
00054 FDOPOSTGIS_OV_API static FdoPostGISOvGeometricPropertyDefinition* Create(
00055 FdoString* name);
00056
00057 /// \brief
00058 /// Gets the column
00059 ///
00060 /// \return
00061 /// Returns the column
00062 ///
00063 FDOPOSTGIS_OV_API FdoPostGISOvGeometricColumn* GetColumn();
00064
00065 /// \brief
00066 /// Sets the column
00067 ///
00068 /// \return
00069 /// Returns nothing
00070 ///
00071 FDOPOSTGIS_OV_API void SetColumn(FdoPostGISOvGeometricColumn* column);
00072
00073
00074 protected:
00075
00076 /// \cond DOXYGEN-IGNORE
00077
00078 FdoPostGISOvGeometricPropertyDefinition();
00079 FdoPostGISOvGeometricPropertyDefinition(FdoString* name);
00080 virtual ~FdoPostGISOvGeometricPropertyDefinition();
00081 virtual void Dispose();
00082
00083 /// \endcond
00084
00085 private:
00086
00087 };
00088
00089 /// \brief
00090 /// Declaration of smart-pointer type for FdoPostGISOvGeometricPropertyDefinition.
00091 /// Provided for convenience.
00092 ///
00093 typedef FdoPtr<FdoPostGISOvGeometricPropertyDefinition> FdoPostGISOvGeometricPropertyP;
00094
00095 #endif // FDOPOSTGISOVGEOMETRICPROPERTYDEFINITION_H