API Reference | OSGeo FDO Provider for ODBC |
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? |