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