OSGeo FDO Provider for ODBC API Reference

OSGeo FDO Provider for ODBC API

API Reference OSGeo FDO Provider for ODBC

PostGisOvColumn.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 FDOPOSTGISOVCOLUMN_H
00018 #define FDOPOSTGISOVCOLUMN_H
00019 
00020 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00021 #include <Rdbms/Override/RdbmsOvColumn.h>
00022 
00023 /// \brief
00024 /// Concrete class defining physical schema overrides for column.
00025 /// This class is used in PostGIS schema overrides.
00026 ///
00027 class FdoPostGISOvColumn : public FdoRdbmsOvColumn
00028 {
00029 public:
00030 
00031     /// Named constructor for FdoPostGISOvColumn.
00032     /// 
00033     /// \return
00034     /// Pointer to new instance of FdoPostGISOvColumn.
00035     /// 
00036     FDOPOSTGIS_OV_API static FdoPostGISOvColumn* Create();
00037 
00038     /// Named constructor for FdoPostGISOvColumn.
00039     /// 
00040     /// \param
00041     /// name [in] - name of column.
00042     ///
00043     /// \return
00044     /// Pointer to new instance of FdoPostGISOvColumn.
00045     /// 
00046     FDOPOSTGIS_OV_API static FdoPostGISOvColumn* Create(FdoString* name);
00047 
00048 /// \cond DOXYGEN-IGNORE
00049 
00050     /// XML serialization functions, not part of the API.
00051 
00052     /// Initialize this element from its XML attributes
00053     ///
00054     /// \param
00055     /// saxContext [in] - 
00056     ///
00057     /// \param
00058     /// attrs [in] - 
00059     ///
00060     virtual void InitFromXml(FdoXmlSaxContext* saxContext,
00061         FdoXmlAttributeCollection* attrs);
00062 
00063 /// \endcond
00064 
00065 protected:
00066 
00067     /// Default constructor.
00068     FdoPostGISOvColumn();
00069 
00070     /// Alternative constructor.
00071     /// \param name [in] - name of class definition. 
00072     FdoPostGISOvColumn(FdoString* name);
00073     
00074     /// Destructor
00075     virtual ~FdoPostGISOvColumn();
00076     
00077     /// Named destructor.
00078     /// Responsible for final destruction calling
00079     /// \code delete this \endcode.
00080     virtual void Dispose();
00081 
00082     /// Serialize this property to XML.
00083     ///
00084     /// \param
00085     /// xmlWriter [in] - 
00086     ///
00087     /// \param
00088     /// flags [in] - 
00089     ///
00090     virtual void _writeXmlContents(FdoXmlWriter* xmlWriter,
00091         const FdoXmlFlags* flags);
00092 
00093 private:
00094 
00095 };
00096 
00097 /// \brief
00098 /// Declaration of smart-pointer type for FdoPostGISOvColumn.
00099 /// Provided for convenience.
00100 ///
00101 typedef FdoPtr<FdoPostGISOvColumn> FdoPostGISOvColumnP;
00102 
00103 #endif // FDOPOSTGISOVCOLUMN_H

Comments?