FDO .NET API Reference Feature Data Objects

mgIConnectionPropertyDictionaryImp.h

Go to the documentation of this file.
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.