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 #pragma once 00020 00021 class FdoRdbmsOvObjectPropertyDefinition; 00022 00023 BEGIN_NAMESPACE_OSGEO_COMMON_XML 00024 public __gc class XmlSaxContext; 00025 public __gc class XmlAttributeCollection; 00026 END_NAMESPACE_OSGEO_COMMON_XML 00027 00028 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE 00029 00030 public __gc class OvPropertyMappingDefinition; 00031 public __gc class OvPropertyMappingSingle; 00032 public __gc class OvPropertyMappingConcrete; 00033 00034 ///<summary>Abstract class defining physical schema overrides for an object property 00035 ///definition.</summary> 00036 public __gc class OvObjectPropertyDefinition : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvPropertyDefinition 00037 { 00038 public private: 00039 inline FdoRdbmsOvObjectPropertyDefinition* GetImpObj(); 00040 00041 public protected: 00042 OvObjectPropertyDefinition(System::IntPtr unmanaged, System::Boolean autoDelete); 00043 00044 public: 00045 ///<summary>Gets the object property mapping definition</summary> 00046 /// <returns>Returns OvPropertyMappingDefinition</returns> 00047 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvPropertyMappingDefinition* get_MappingDefinition(); 00048 00049 // Initialize this element from its XML attributes 00050 System::Void InitFromXml(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, NAMESPACE_OSGEO_COMMON_XML::XmlAttributeCollection* attributes, System::String* mappingType, NAMESPACE_OSGEO_COMMON_XML::XmlAttributeCollection* mappingAttributes); 00051 00052 // Create and optionally attach a Single table property mapping. 00053 NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvPropertyMappingSingle* CreateSingleMapping(System::Boolean attach); 00054 00055 // Create and optionally attach a Class table property mapping. 00056 NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvPropertyMappingClass* CreateClassMapping(System::Boolean attach); 00057 00058 // Create and optionally attach a Concrete table property mapping. 00059 NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvPropertyMappingConcrete* CreateConcreteMapping(System::Boolean attach); 00060 }; 00061 00062 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE