FDO .NET API Reference | Feature Data Objects |
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 #include "FDO\Connections\mgIConnectionPropertyDictionary.h" 00022 00023 class FdoIConnectionPropertyDictionary; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_CONNECTIONS 00026 00027 /// \ingroup (OSGeoFDOConnections) 00028 /// \brief 00029 /// The IConnectionPropertyDictionary exposes a dictionary style interface 00030 /// to the connection properties. The properties required to establish a connection 00031 /// can be determined and their values can be set through this interface. 00032 /// Modifying connection properties through this 00033 /// interface dynamically modifies the connection string held by the connection 00034 /// object. When the connection is in an open state, calling SetProperty on this 00035 /// interface will result in an error. 00036 private __gc class IConnectionPropertyDictionaryImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, public NAMESPACE_OSGEO_FDO_CONNECTIONS::IConnectionPropertyDictionary 00037 { 00038 public: 00039 /// \brief 00040 /// Gets the names of all the properties that can appear in a connection string 00041 /// for this feature provider as an array of Strings. The order of the property 00042 /// names in the resulting array dictate the order in which they need to be 00043 /// specified. This is especially important for the success of the 00044 /// EnumeratePropertyValues method because properties that occur earlier in the array 00045 /// may be required for successful enumeration of properties that appear later. 00046 /// 00047 /// \return 00048 /// Returns the list of parameter names 00049 /// 00050 __property System::String* get_PropertyNames() []; 00051 00052 /// \brief 00053 /// Gets the value of the specified property. 00054 /// 00055 /// \param name 00056 /// Input the property name. 00057 /// 00058 /// \return 00059 /// Returns the property value. 00060 /// 00061 System::String* GetProperty(System::String* name); 00062 00063 /// \brief 00064 /// Sets the value of the specified property. An exception is thrown if the connection is currently open. 00065 /// 00066 /// \param name 00067 /// Input the property name 00068 /// \param value 00069 /// Input the property value 00070 /// 00071 /// \return 00072 /// Returns nothing 00073 /// 00074 System::Void SetProperty( System::String* name, System::String* value); 00075 00076 /// \brief 00077 /// Gets the default value for the specified property. 00078 /// 00079 /// \param name 00080 /// Input the property name 00081 /// 00082 /// \return 00083 /// Returns the property default value 00084 /// 00085 System::String* GetPropertyDefault( System::String* name); 00086 00087 /// \brief 00088 /// Determines if the specified property is required. 00089 /// 00090 /// \param name 00091 /// Input the property name 00092 /// 00093 /// \return 00094 /// Returns true if the specified property is required 00095 /// 00096 System::Boolean IsPropertyRequired( System::String* name); 00097 00098 /// \brief 00099 /// Indicates if the property is a password or other protected field 00100 /// that should be kept secure. 00101 /// 00102 /// \param name 00103 /// Input the property name. 00104 /// 00105 /// \return 00106 /// Returns true if the property is a password or other protected field 00107 /// that should be kept secure. 00108 /// 00109 System::Boolean IsPropertyProtected(System::String* name); 00110 00111 /// \brief 00112 /// Determines if the possible values for the specified property can be enumerated via the EnumeratePropertyValues method. 00113 /// 00114 /// \param name 00115 /// Input the property name 00116 /// 00117 /// \return 00118 /// Returns true if the possible values for the specified property can be enumerated. 00119 /// 00120 System::Boolean IsPropertyEnumerable(System::String* name); 00121 00122 /// \brief 00123 /// Returns an array of possible values for the specified property. 00124 /// 00125 /// \param name 00126 /// Input the property name. 00127 /// 00128 /// \return 00129 /// Returns the list of values for this property. 00130 /// 00131 System::String* EnumeratePropertyValues(System::String* name) []; 00132 00133 /// \brief 00134 /// Gets a localized name for the property (for NLS purposes). 00135 /// 00136 /// \param name 00137 /// Input the property name. 00138 /// 00139 /// \return 00140 /// Returns the localized name for the property (for NLS purposes). 00141 /// 00142 System::String* GetLocalizedName(System::String* name); 00143 00144 /// \cond DOXYGEN-IGNORE 00145 protected: 00146 System::Void ReleaseUnmanagedObject(); 00147 /// \endcond 00148 00149 public private: 00150 IConnectionPropertyDictionaryImp(System::IntPtr unmanaged, System::Boolean autoDelete); 00151 00152 inline FdoIConnectionPropertyDictionary* GetImpObj(); 00153 }; 00154 00155 END_NAMESPACE_OSGEO_FDO_CONNECTIONS 00156 00157
Comments or suggestions? Send us feedback. |