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 FdoMySQLOvPhysicalSchemaMapping;
00022
00023 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL
00024
00025 ///<summary>Concrete class offering schema overrides for
00026 ///the MySQL Provider.</summary>
00027 public __gc class OvPhysicalSchemaMapping : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvPhysicalSchemaMapping
00028 {
00029 public private:
00030 inline FdoMySQLOvPhysicalSchemaMapping* GetImpObj();
00031
00032 OvPhysicalSchemaMapping(System::IntPtr unmanaged, System::Boolean autoDelete);
00033
00034 public:
00035 ///<summary>Constructs a default of an OvPhysicalSchemaMapping</summary>
00036 /// <returns>Returns OvPhysicalSchemaMapping</returns>
00037 OvPhysicalSchemaMapping();
00038
00039 /// <summary>Constructs a physical schema mapping instance using the
00040 /// result returned from IConnection::CreateSchemaMapping OR using the result of
00041 /// executing an IDescribeSchemaMapping command. This constructor is provided
00042 /// in order that clients are provided a mechanism to downcast from the FDO
00043 /// PhysicalSchemaMapping base class to an FDO Provider specific class
00044 /// that derives from PhysicalSchemaMapping. This constructor is the only
00045 /// mechanism provided by the FDO Managed API that will allow the client to correctly
00046 /// construct a provider specific PhysicalSchemaMapping class.
00047 /// NOTE: If the Provider name associated to the input parameter schemaMapping does not
00048 /// correspond to the provider name of the expected FDO Provider, and InvalidArgumentException
00049 /// will be thrown.
00050 /// </summary>
00051 OvPhysicalSchemaMapping(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* schemaMapping, System::Boolean autoDelete);
00052
00053 ///<summary>Constructs an instance of an OvPhysicalSchemaMapping using the specified arguments</summary>
00054 /// <param name="name">Input name</param>
00055 /// <returns>Returns OvPhysicalSchemaMapping</returns>
00056 OvPhysicalSchemaMapping(System::String* name);
00057
00058 ///<summary>Gets the classes</summary>
00059 /// <returns>Returns the classes</returns>
00060 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL::OvClassCollection* get_Classes();
00061
00062 ///<summary>Gets the directory where table data is stored</summary>
00063 /// <returns>Returns the directory where table data is stored</returns>
00064 __property System::String* get_DataDirectory();
00065
00066 ///<summary>Sets the directory where table data is stored</summary>
00067 /// <returns>Returns nothing</returns>
00068 __property System::Void set_DataDirectory(System::String* dataDirectory);
00069
00070 ///<summary>Gets the directory where indexes are stored</summary>
00071 /// <returns>Returns the directory where indexes are stored</returns>
00072 __property System::String* get_IndexDirectory();
00073
00074 ///<summary>Sets the directory where indexes are stored</summary>
00075 /// <returns>Returns nothing</returns>
00076 __property System::Void set_IndexDirectory(System::String* indexDirectory);
00077
00078 ///<summary>Gets the storage engine type</summary>
00079 /// <returns>Returns the storage engine type</returns>
00080 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL::OvStorageEngineType get_StorageEngine();
00081
00082 ///<summary>Sets the storage engine type</summary>
00083 /// <returns>Returns nothing</returns>
00084 __property System::Void set_StorageEngine(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL::OvStorageEngineType storageEngine);
00085
00086 ///<summary>Gets the database</summary>
00087 /// <returns>Returns the database</returns>
00088 __property System::String* get_Database();
00089
00090 ///<summary>Sets the database</summary>
00091 /// <returns>Returns nothing</returns>
00092 __property System::Void set_Database(System::String* database);
00093
00094 ///<summary>Gets the provider name</summary>
00095 /// <returns>Returns the provider name</returns>
00096 __property System::String* get_Provider();
00097
00098 };
00099
00100 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL
00101