API Reference | OSGeo FDO Provider for MySQL |
00001 #ifndef FDO_RDBMSOVTABLE_H 00002 #define FDO_RDBMSOVTABLE_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 #include <FdoCommon.h> 00026 #include <Fdo/Commands/Schema/PhysicalElementMapping.h> 00027 #include <Rdbms/Override/RdbmsOv.h> 00028 00029 ///<summary>Abstract class defining physical schema overrides for a table.</summary> 00030 class FdoRdbmsOvTable : public FdoPhysicalElementMapping 00031 { 00032 public: 00033 ///<summary>Gets the primary key nane</summary> 00034 ///<returns>Returns the primary key name</returns> 00035 FDORDBMS_OV_API FdoString *GetPKeyName(); 00036 00037 ///<summary>Sets the primary key name</summary> 00038 /// <param name="pKeyName">Input the primary key name</param> 00039 ///<returns>Returns nothing</returns> 00040 FDORDBMS_OV_API void SetPKeyName(FdoString *pKeyName); 00041 00042 //DOM-IGNORE-BEGIN 00043 // Makes SetParent function public. 00044 FDORDBMS_OV_API void SetParent(FdoPhysicalElementMapping* value); 00045 00046 // Serialize this property to XML. 00047 FDORDBMS_OV_API virtual void _writeXml(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags); 00048 //DOM-IGNORE-END 00049 00050 protected: 00051 FDORDBMS_OV_API FdoRdbmsOvTable(); 00052 FDORDBMS_OV_API FdoRdbmsOvTable(FdoString* name); 00053 FDORDBMS_OV_API virtual ~FdoRdbmsOvTable(); 00054 00055 // Initialize this element from its XML attributes 00056 FDORDBMS_OV_API virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs); 00057 00058 FDORDBMS_OV_API virtual FdoXmlSaxHandler* XmlStartElement( 00059 FdoXmlSaxContext* context, 00060 FdoString* uri, 00061 FdoString* name, 00062 FdoString* qname, 00063 FdoXmlAttributeCollection* atts 00064 ); 00065 00066 // Write provider-specific parts to XML. 00067 FDORDBMS_OV_API virtual void _writeXmlContents(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags); 00068 00069 private: 00070 FdoStringP mPKeyName; 00071 00072 }; 00073 00074 ///<summary>FdoRdbmsOvTableP is a FdoPtr on FdoRdbmsOvTable, provided for convenience.</summary> 00075 typedef FdoPtr<FdoRdbmsOvTable> FdoRdbmsOvTableP; 00076 00077 #endif 00078
Comments? |