FDO .NET API Reference Feature Data Objects

mgProvider.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 class FdoProvider;
00022 
00023 BEGIN_NAMESPACE_OSGEO_FDO_CLIENTSERVICES
00024 
00025 /// \ingroup (OSGeoFDOClientServices)
00026 /// \brief
00027 /// The Provides class provides information about a feature provider, including name, 
00028 /// description, library, and version information.
00029 public __sealed __gc class Provider : public NAMESPACE_OSGEO_RUNTIME::Disposable
00030 {
00031 public:
00032     /// \brief
00033     /// Gets the unique name of the feature provider. This name should be of the form 
00034     /// [Company].[Provider].[Version].
00035     /// 
00036     /// \return
00037     /// Returns the name of the Provider.
00038     /// Throws an instance of Exception if an error occurs.
00039     /// 
00040     __property System::String* get_Name();
00041 
00042     /// \brief
00043     /// Gets a user friendly display name of the feature provider.
00044     /// 
00045     /// \return
00046     /// Returns the display name of the Provider.
00047     /// Throws an instance of Exception if an error occurs.
00048     /// 
00049     __property System::String* get_DisplayName();
00050     
00051     /// \brief
00052     /// Gets a brief description of the feature provider.
00053     /// 
00054     /// \return
00055     /// Returns the description of the Provider.
00056     /// Throws an instance of Exception if an error occurs.
00057     /// 
00058     __property System::String* get_Description();
00059     
00060     /// \brief
00061     /// Gets the version of the feature provider. The version number string has the form 
00062     /// [VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor].
00063     /// 
00064     /// \return
00065     /// Returns the version of the Provider.
00066     /// Throws an instance of Exception if an error occurs.
00067     /// 
00068     __property System::String* get_Version();
00069 
00070     /// \brief
00071     /// Gets the version of the feature data objects specification the feature provider conforms to. 
00072     /// The version number string has the form [VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor].
00073     /// 
00074     /// \return
00075     /// Returns the Feature Data Objects version of the Provider.
00076     /// Throws an instance of Exception if an error occurs.
00077     /// 
00078     __property System::String* get_FeatureDataObjectsVersion();
00079 
00080     /// \brief
00081     /// Gets the FULL library path + library name of the provider. 
00082     /// 
00083     /// \return
00084     /// Returns the library path of the Provider.
00085     /// Throws an instance of Exception if an error occurs.
00086     /// 
00087     __property System::String* get_LibraryPath();
00088 
00089     /// \brief
00090     /// Gets a boolean flag indicating if the provider is a managed or unmanaged provider. 
00091     /// 
00092     /// \return
00093     /// Returns the managed state flag as a bool.
00094     /// Throws an instance of Exception if an error occurs.
00095     /// 
00096     __property System::Boolean get_IsManaged();
00097 
00098 public private:
00099     Provider(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete)
00100     {
00101     }
00102 
00103     inline FdoProvider* GetImpObj();
00104 
00105 /// \cond DOXYGEN-IGNORE
00106 protected:
00107     System::Void ReleaseUnmanagedObject();
00108 /// \endcond
00109 };
00110 
00111 END_NAMESPACE_OSGEO_FDO_CLIENTSERVICES
00112 
00113 

Comments or suggestions? Send us feedback.