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 FDOPOSTGISOVPROPERTYMAPPINGSINGLE_H
00018 #define FDOPOSTGISOVPROPERTYMAPPINGSINGLE_H
00019
00020 #include <FdoCommon.h>
00021 #include <Rdbms/Override/RdbmsOvPropertyMappingSingle.h>
00022 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00023 #include <Rdbms/Override/PostGIS/PostGisOvPropertyMappingDefinition.h>
00024
00025 /// \brief
00026 /// Concrete class defining the physical schema overrides for the single
00027 /// type object property mapping.
00028 /// Under the Single mapping type, the object property is kept in the same
00029 /// table as its containing class.
00030 /// This class is used in PostGIS schema overrides.
00031 ///
00032 class FdoPostGISOvPropertyMappingSingle :
00033 public FdoPostGISOvPropertyMappingDefinition,
00034 public FdoRdbmsOvPropertyMappingSingle
00035 {
00036 public:
00037
00038 /// Named constructor for FdoPostGISOvPropertyMappingSingle.
00039 ///
00040 /// \return
00041 /// Pointer to new instance of FdoPostGISOvPropertyMappingSingle.
00042 ///
00043 FDOPOSTGIS_OV_API static FdoPostGISOvPropertyMappingSingle* Create();
00044
00045 protected:
00046
00047 /// Default constructor.
00048 FdoPostGISOvPropertyMappingSingle();
00049
00050 /// Destructor.
00051 virtual ~FdoPostGISOvPropertyMappingSingle();
00052
00053 /// Named destructor.
00054 /// Responsible for final destruction calling
00055 /// \code delete this \endcode.
00056 virtual void Dispose();
00057
00058 };
00059
00060 /// \brief
00061 /// Declaration of smart-pointer type for FdoPostGISOvPropertyMappingSingle.
00062 /// Provided for convenience.
00063 ///
00064 typedef FdoPtr<FdoPostGISOvPropertyMappingSingle>
00065 FdoPostGISOvPropertyMappingSingleP;
00066
00067 #endif // FDOPOSTGISOVPROPERTYMAPPINGSINGLE_H