FDO .NET API Reference Feature Data Objects

mgProviderNameTokens.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 FdoProviderNameTokens;
00022 
00023 class FdoStringsP;
00024 class FdoVectorP;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_CLIENTSERVICES
00027 
00028 /// \ingroup (OSGeoFDOClientServices)
00029 /// \brief
00030 /// Class ProviderNameTokens represents an FDO provider name that 
00031 /// has been tokenized into its company, name and version parts.
00032 public __gc class ProviderNameTokens : public NAMESPACE_OSGEO_RUNTIME::Disposable
00033 {
00034 public private:
00035     inline FdoProviderNameTokens* GetImpObj();
00036 
00037 /// \cond DOXYGEN-IGNORE
00038 protected:
00039     System::Void ReleaseUnmanagedObject();
00040 /// \endcond
00041 
00042 public:
00043     /// \brief
00044     /// Constructs an ProviderNameTokens managed object based on an unmanaged instance of the object
00045     /// 
00046     /// \param unmanaged 
00047     /// Input A Pointer to the unmanaged object.
00048     /// 
00049     /// \param autoDelete 
00050     /// Input Indicates if the constructed object should be automatically deleted 
00051     /// once it no longer referenced.
00052     /// 
00053     ProviderNameTokens(System::IntPtr unmanaged, System::Boolean autoDelete)
00054         : Disposable(unmanaged, autoDelete)
00055     {
00056     }
00057 
00058     /// \brief
00059     /// Tokenize a full provider name
00060     /// The name is usually of the form "[Company].[Provider].[Version]",
00061     /// e.g. "OSGeo.SDF.3.2".
00062     /// 
00063     /// \param name 
00064     /// Input the provider name to tokenize
00065     /// 
00066     /// \return
00067     /// Returns ProviderNameTokens
00068     /// 
00069     ProviderNameTokens(System::String* name);
00070 
00071     /// \brief
00072     /// Gets all of the tokens in this provider name
00073     /// 
00074     /// \return
00075     /// Returns the collection of tokens. 
00076     ///   Element 0 is the company
00077     ///   Element 1 is the unqualified name
00078     ///   the rest of the elements are the individual parts of the version number.
00079     /// 
00080     System::String *GetNameTokens()[];
00081 
00082     /// \brief
00083     /// Gets all of the version number components in this provider name
00084     /// 
00085     /// \return
00086     /// Returns the collection of version number components. For
00087     /// example, if the full provider name is "OSGeo.SDF.3.2" then 
00088     /// {3,2} is returned.
00089     /// 
00090     System::Double GetVersionTokens()[];
00091 
00092     /// \brief
00093     /// Gets the local (unqualified) name of this provider.
00094     /// 
00095     /// \return
00096     /// Returns the local name ( without company and version ). For
00097     /// example, if the full provider name is "OSGeo.SDF.3.2" then 
00098     /// "SDF" is returned.
00099     /// 
00100     System::String *GetLocalName();
00101 
00102 private:
00103     static System::String *FdoStringsToStringArray(const FdoStringsP &sa)[];
00104     static System::Double FdoVectorToDoubleArrary(const FdoVectorP &da)[];
00105 };
00106 
00107 END_NAMESPACE_OSGEO_FDO_CLIENTSERVICES
00108 
00109 

Comments or suggestions? Send us feedback.