00001 /* 00002 * Copyright (C) 2004-2006 Autodesk, 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 */ 00018 00019 00020 #pragma once 00021 00022 class FdoRdbmsOvClassDefinition; 00023 00024 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA 00025 public __gc class PhysicalElementMapping; 00026 END_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA 00027 00028 BEGIN_NAMESPACE_OSGEO_COMMON_XML 00029 public __gc class XmlWriter; 00030 END_NAMESPACE_OSGEO_COMMON_XML 00031 00032 BEGIN_NAMESPACE_OSGEO_FDO_XML 00033 public __gc class XmlFlags; 00034 END_NAMESPACE_OSGEO_FDO_XML 00035 00036 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE 00037 00038 public __gc class OvReadOnlyPropertyDefinitionCollection; 00039 public __gc class OvTable; 00040 public __gc class OvGeometricColumn; 00041 00042 ///<summary>Abstract class defining physical schema overrides for a class definition.</summary> 00043 public __gc class OvClassDefinition: public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalClassMapping 00044 { 00045 public private: 00046 FdoRdbmsOvClassDefinition* GetImpObj(); 00047 00048 public protected: 00049 OvClassDefinition(System::IntPtr unmanaged, System::Boolean autoDelete); 00050 00051 public: 00052 ///<summary>Gets the collection of property overrides for this class 00053 ///override.</summary> 00054 /// <returns>Returns OvReadOnlyPropertyDefinitionCollection</returns> 00055 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvReadOnlyPropertyDefinitionCollection* get_Properties(); 00056 00057 ///<summary>Gets the table overrides for this class override</summary> 00058 /// <returns>Returns OvTable</returns> 00059 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvTable* get_Table(); 00060 00061 ///<summary>Gets the table mapping</summary> 00062 ///<returns>Returns OvTableMappingType</returns> 00063 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvTableMappingType get_TableMapping(); 00064 00065 ///<summary>Sets the table mapping</summary> 00066 /// <param name="mappingType">Input the mapping type</param> 00067 ///<returns>Returns nothing</returns> 00068 __property System::Void set_TableMapping(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvTableMappingType mappingType); 00069 00070 __property System::Void set_Parent(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping* value); 00071 00072 // Serialize the XML attributes of this class: 00073 System::Void WriteXmlAttributes(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags); 00074 }; 00075 00076 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE 00077