API Reference | OSGeo FDO Provider for ODBC |
00001 #ifndef FDO_RDBMSOVPROPERTYMAPPINGRELATION_H 00002 #define FDO_RDBMSOVPROPERTYMAPPINGRELATION_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 00021 /// <library> 00022 /// FdoRdbms.lib 00023 /// </library> 00024 00025 00026 #include <Rdbms/Override/RdbmsOv.h> 00027 #include <Rdbms/Override/RdbmsOvPropertyMappingDefinition.h> 00028 00029 class FdoRdbmsOvClassDefinition; 00030 00031 ///<summary> 00032 ///Abstract class defining the physical schema overrides for relation type 00033 ///object property table mappings. 00034 ///</summary> 00035 class FdoRdbmsOvPropertyMappingRelation : public virtual FdoRdbmsOvPropertyMappingDefinition 00036 { 00037 00038 public: 00039 00040 ///<summary>Gets the internal class</summary> 00041 /// <returns>Returns the internal class</returns> 00042 FDORDBMS_OV_API FdoRdbmsOvClassDefinition* GetInternalClass(); 00043 00044 //DOM-IGNORE-BEGIN 00045 00046 // Serialize this property to XML. Not part of the API. 00047 FDORDBMS_OV_API virtual void _writeXml(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags); 00048 00049 // Creates and optionally attaches an internal class override object. 00050 FDORDBMS_OV_API virtual FdoRdbmsOvClassDefinition* CreateInternalClass( 00051 bool attach // if true then make the new class the internal class for 00052 // this property mapping. Replaces any previous internal class 00053 ) 00054 { 00055 // TODO: throw exception. 00056 return NULL; 00057 } 00058 //DOM-IGNORE-END 00059 00060 protected: 00061 FDORDBMS_OV_API FdoRdbmsOvPropertyMappingRelation(); 00062 FDORDBMS_OV_API virtual ~FdoRdbmsOvPropertyMappingRelation(); 00063 00064 ///<summary>Sets the internal class</summary> 00065 /// <returns>Returns nothing</returns> 00066 FDORDBMS_OV_API void SetInternalClass(FdoRdbmsOvClassDefinition* classDefinition); 00067 00068 // Handle start of sub-elements when deserializing from XML. 00069 FDORDBMS_OV_API virtual FdoXmlSaxHandler* XmlStartElement( 00070 FdoXmlSaxContext* context, 00071 FdoString* uri, 00072 FdoString* name, 00073 FdoString* qname, 00074 FdoXmlAttributeCollection* atts 00075 ); 00076 00077 // Handle end of sub-elements when deserializing from XML. 00078 FDORDBMS_OV_API virtual FdoBoolean XmlEndElement( 00079 FdoXmlSaxContext* context, 00080 FdoString* uri, 00081 FdoString* name, 00082 FdoString* qname 00083 ); 00084 00085 00086 private: 00087 FdoPtr<FdoRdbmsOvClassDefinition> mClassDefinition; 00088 }; 00089 00090 ///<summary> 00091 ///FdoRdbmsOvPropertyMappingRelationP is a FdoPtr on 00092 ///FdoRdbmsOvPropertyMappingRelation, provided for convenience. 00093 ///</summary> 00094 typedef FdoPtr<FdoRdbmsOvPropertyMappingRelation> FdoRdbmsOvPropertyMappingRelationP; 00095 00096 #endif 00097
Comments? |