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