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