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 FdoRdbmsOvPhysicalSchemaMapping; 00022 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_FDO_PROVIDERS_RDBMS_OVERRIDE 00029 00030 public __gc class OvReadOnlyClassCollection; 00031 public __gc class OvSchemaAutoGeneration; 00032 00033 ///<summary>Abstract base class for RDBMS type provider schema 00034 ///override sets.</summary> 00035 public __gc class OvPhysicalSchemaMapping : public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping 00036 { 00037 public private: 00038 FdoRdbmsOvPhysicalSchemaMapping* GetImpObj(); 00039 00040 public protected: 00041 OvPhysicalSchemaMapping(System::IntPtr unmanaged, System::Boolean autoDelete); 00042 00043 protected: 00044 OvPhysicalSchemaMapping(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* schemaMapping, System::Boolean autoDelete); 00045 00046 public: 00047 ///<summary>Gets the collection of class overrides for this schema 00048 ///override set.</summary> 00049 /// <returns>Returns OvReadOnlyClassCollection</returns> 00050 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvReadOnlyClassCollection* get_Classes(); 00051 00052 ///<summary>Gets the table mapping</summary> 00053 ///<returns>Returns the table mapping</returns> 00054 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvTableMappingType get_TableMapping(); 00055 00056 ///<summary>Sets the table mapping</summary> 00057 /// <param name="mappingType">Input the mapping type</param> 00058 ///<returns>Returns nothing</returns> 00059 __property System::Void set_TableMapping(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvTableMappingType mappingType); 00060 00061 ///<summary>Gets the default geometric column type for newly-created geometric properties</summary> 00062 ///<returns>Returns the default geometric column type</returns> 00063 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvGeometricColumnType get_GeometricColumnType(); 00064 00065 ///<summary>Sets default geometric column type for newly-created geometric properties</summary> 00066 /// <param name="columnType">Input the default geometric column type</param> 00067 ///<returns>Returns nothing</returns> 00068 __property System::Void set_GeometricColumnType(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvGeometricColumnType columnType); 00069 00070 ///<summary>Gets the default geometric content type for newly-created geometric properties</summary> 00071 ///<returns>Returns the default geometric content type</returns> 00072 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvGeometricContentType get_GeometricContentType(); 00073 00074 ///<summary>Sets default geometric content type for newly-created geometric properties</summary> 00075 /// <param name="contentType">Input the default geometric content type</param> 00076 ///<returns>Returns nothing</returns> 00077 __property System::Void set_GeometricContentType(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvGeometricContentType contentType); 00078 00079 ///<summary>Gets the settings for AutoGenerating classes for this feature 00080 ///schema from the physical schema of the connected datastore. 00081 ///</summary> 00082 ///<returns>Returns OvSchemaAutoGeneration</returns> 00083 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvSchemaAutoGeneration* get_AutoGeneration(); 00084 00085 ///<summary>Sets class autogeneration settings.</summary> 00086 /// <param name="autoGeneration"> 00087 /// Input the autogeneration settings. If NULL then no schema autogeneration 00088 /// takes place. 00089 /// </param> 00090 ///<returns>Returns nothing</returns> 00091 __property System::Void set_AutoGeneration(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvSchemaAutoGeneration* autoGeneration); 00092 00093 __property System::Void set_Parent(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping* value); 00094 }; 00095 00096 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE