.NET API Reference | OSGeo FDO Provider for ODBC |
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 FdoRdbmsOvSchemaAutoGeneration; 00022 00023 BEGIN_NAMESPACE_OSGEO_COMMON 00024 public __gc class StringCollection; 00025 END_NAMESPACE_OSGEO_COMMON 00026 00027 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE 00028 00029 ///<summary> 00030 ///This class provides directives for reverse-engineering FDO 00031 ///Feature Schema elements from the physical schema of the currently 00032 ///connected datastore. 00033 ///</summary> 00034 public __gc class OvSchemaAutoGeneration: public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping 00035 { 00036 public private: 00037 FdoRdbmsOvSchemaAutoGeneration* GetImpObj(); 00038 00039 OvSchemaAutoGeneration(System::IntPtr unmanaged, System::Boolean autoDelete); 00040 00041 public: 00042 ///<summary>Creates a set of schema autogeneration settings. 00043 ///</summary> 00044 ///<returns>Returns OvSchemaAutoGeneration</returns> 00045 OvSchemaAutoGeneration(); 00046 00047 ///<summary>Gets the table prefix for autogenerating class definitions. 00048 ///When set, an FDO Class Definition is automatically generated for 00049 ///each table whose name begins with this prefix. Any table already 00050 ///referenced by a class definition is skipped. Each generated class is 00051 ///added to the Feature Schema for this Schema Mapping Set. 00052 ///</summary> 00053 ///<returns>Returns the class autogeneration table name prefix</returns> 00054 __property System::String* get_GenTablePrefix(); 00055 00056 ///<summary> 00057 ///Sets the table prefix for autogenerating class definitions. 00058 ///</summary> 00059 /// <param name="tablePrefix"> 00060 /// Input the table prefix. If L"" then no 00061 /// classes will be generated by table prefix. 00062 /// </param> 00063 ///<returns>Returns nothing</returns> 00064 __property System::Void set_GenTablePrefix(System::String* tablePrefix); 00065 00066 ///<summary>Gets the table prefix removal setting. This setting affects 00067 ///how classes, generated from tables matching the table prefix, are named: 00068 /// * when true, the class name is the table name with prefix removed. 00069 /// true is the default setting. 00070 /// * when false, the class name is the table name. 00071 ///</summary> 00072 ///<returns>Returns Boolean.</returns> 00073 __property System::Boolean get_RemoveTablePrefix(); 00074 00075 ///<summary>Sets the "remove table prefix" setting.</summary> 00076 /// <param name="removeTablePrefix"> 00077 /// Input the "remove table prefix" setting. 00078 // </param> 00079 ///<returns>Returns nothing</returns> 00080 __property System::Void set_RemoveTablePrefix(System::Boolean removeTablePrefix); 00081 00082 ///<summary>Gets the list of tables or views for which class definitions 00083 ///will be autogenerated. Once retrieved, the caller can populate this 00084 ///list. 00085 ///When set, an FDO Class Definition is automatically generated for 00086 ///each table in this list. Any table already 00087 ///referenced by a class definition is skipped. Each generated class is 00088 ///added to the Feature Schema for this Schema Mapping Set. 00089 /// 00090 ///Note: the only way to autogenerate a class definition from a view 00091 ///is to add the view name to this list. There is one caveat in that 00092 ///the generated class will not have identity properties. 00093 ///</summary> 00094 ///<returns>Returns StringCollection</returns> 00095 __property NAMESPACE_OSGEO_COMMON::StringCollection* get_GenTableList(); 00096 00097 ///<summary>Gets the maximum number of rows to sample when table data 00098 ///must be examined to determine schema information. The situations 00099 ///where this must be done depend on the provider. For example, 00100 ///when a geometric property is generated from a geometric column, the 00101 ///geomety types might be determined by examining some of the geometry 00102 ///values in the column. 00103 /// 00104 ///MaxSampleRows can be any positive integer or one of the following: 00105 /// * 0: all rows in the table are sampled. (Not recommended for 00106 /// large datastores). 00107 /// * -1: no rows are sampled. 00108 /// 00109 ///</summary> 00110 ///<returns>Returns Int32.</returns> 00111 __property System::Int32 get_MaxSampleRows(); 00112 00113 ///<summary>Sets the maximum number of rows to sample when 00114 ///determining schema from table data. Higher values give a more 00115 ///accurate result but lower values provide better performance.</summary> 00116 /// <param name="maxRows">Input the maximum number of rows to sample.</param> 00117 ///<returns>Returns nothing</returns> 00118 __property System::Void set_MaxSampleRows(System::Int32 maxRows); 00119 }; 00120 00121 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE 00122
Comments? |