OSGeo FDO Provider for ODBC API Reference

OSGeo FDO Provider for ODBC API

API Reference OSGeo FDO Provider for ODBC

OdbcOvPhysicalSchemaMapping.h

Go to the documentation of this file.
00001 #ifndef FDO_ODBCOVPHYSICALSCHEMAMAPPING_H
00002 #define FDO_ODBCOVPHYSICALSCHEMAMAPPING_H
00003 //
00004 //
00005 // Copyright (C) 2004-2006  Autodesk, Inc.
00006 // 
00007 // This library is free software; you can redistribute it and/or
00008 // modify it under the terms of version 2.1 of the GNU Lesser
00009 // General Public License as published by the Free Software Foundation.
00010 // 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 // 
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019 //
00020 #include <Rdbms/Override/RdbmsOvPhysicalSchemaMapping.h>
00021 #include <Rdbms/Override/ODBC/OdbcOv.h>
00022 #include <Rdbms/Override/ODBC/OdbcOvClassCollection.h>
00023 
00024 /// \brief
00025 /// Concrete class offering schema overrides for
00026 /// the Odbc Provider.
00027 class FdoOdbcOvPhysicalSchemaMapping : public FdoRdbmsOvPhysicalSchemaMapping
00028 {
00029 
00030 public:
00031 
00032     /// \brief
00033     /// Constructs a default of an FdoOdbcOvPhysicalSchemaMapping
00034     /// 
00035     /// \return
00036     /// Returns FdoOdbcOvPhysicalSchemaMapping
00037     /// 
00038     FDOODBC_OV_API static FdoOdbcOvPhysicalSchemaMapping* Create();
00039 
00040     /// \brief
00041     /// Constructs an instance of an FdoOdbcOvPhysicalSchemaMapping using the specified arguments
00042     /// 
00043     /// \param name 
00044     /// Input name
00045     /// 
00046     /// \return
00047     /// Returns FdoOdbcOvPhysicalSchemaMapping
00048     /// 
00049     FDOODBC_OV_API static FdoOdbcOvPhysicalSchemaMapping* Create(FdoString* name);
00050 
00051     /// \brief
00052     /// Gets the classes
00053     /// 
00054     /// \return
00055     /// Returns the classes
00056     /// 
00057     FDOODBC_OV_API FdoOdbcOvClassCollection* GetClasses();
00058 
00059     /// \brief
00060     /// Gets the provider name
00061     /// 
00062     /// \return
00063     /// Returns the provider name
00064     /// 
00065     FDOODBC_OV_API virtual FdoString *GetProvider(void);
00066 
00067 /// \cond DOXYGEN-IGNORE
00068 
00069     /// XML Serialization functions, not part of API.
00070 
00071     /// Serialize this property to XML.
00072     virtual void _writeXmlAttributes(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags);
00073 
00074     /// Initialize this element from its XML attributes
00075     virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00076 
00077 /// \endcond
00078 
00079 protected:
00080     FdoOdbcOvPhysicalSchemaMapping();
00081     FdoOdbcOvPhysicalSchemaMapping(FdoString* name);
00082     virtual ~FdoOdbcOvPhysicalSchemaMapping();
00083     virtual void Dispose();
00084 
00085     /// Create a class override from XML attributes
00086     virtual FdoRdbmsOvClassDefinition* CreateClass( 
00087         FdoXmlSaxContext* context,
00088         FdoXmlAttributeCollection* atts
00089     );
00090 
00091     /// Add the given class override to this schema override set
00092     virtual void AddClass( 
00093         FdoRdbmsOvClassDefinition* pClass
00094     );
00095 
00096     /// Common initializer for all constructors:
00097     void Init();
00098 
00099 private:
00100     FdoOdbcOvClassesP      mClasses;
00101 };
00102 
00103 /// \brief
00104 /// FdoOdbcOvSchemaMappingP is a FdoPtr on FdoOdbcOvPhysicalSchemaMapping, provided for convenience.
00105 typedef FdoPtr<FdoOdbcOvPhysicalSchemaMapping> FdoOdbcOvSchemaMappingP;
00106 
00107 #endif
00108 
00109 

Comments?