FDO .NET API Reference Feature Data Objects

mgSchemaAttributeDictionary.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 FdoSchemaAttributeDictionary;
00022 
00023 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA
00024 
00025 /// \ingroup (OSGeoFDOSchema)
00026 /// \brief
00027 /// The SchemaAttributeDictionary class maintains a dictionary of named 
00028 /// attributes that provide a generic extensibility mechanism for objects
00029 /// in the feature schema. This mechanism can be used to dynamically extend 
00030 /// schema elements in either an application- or provider-specific manner.
00031 public __gc class SchemaAttributeDictionary : public NAMESPACE_OSGEO_COMMON_XML::XmlSaxHandler
00032 {
00033 public:
00034     /// \brief
00035     /// Gets the number of attributes in the dictionary.
00036     /// 
00037     /// \return
00038     /// Returns the number of attributes in the dictionary
00039     /// 
00040     __property System::Int32 get_Count();
00041 
00042     /// \brief
00043     /// Gets an array containing all of the attribute names in the dictionary.
00044     /// 
00045     /// \return
00046     /// Returns an array containing all of the attribute names in the dictionary
00047     /// 
00048     __property System::String* get_AttributeNames() [];
00049 
00050     /// \brief
00051     /// Gets the value of the specified attribute.
00052     /// 
00053     /// \param name 
00054     /// Input attribute name
00055     /// 
00056     /// \return
00057     /// Returns the value of the specified attribute
00058     /// 
00059     System::String* GetAttributeValue(System::String* name);
00060 
00061     /// \brief
00062     /// Sets the value of the specified attribute.
00063     /// 
00064     /// \param name 
00065     /// Input name
00066     /// \param value 
00067     /// Input value
00068     /// 
00069     /// \return
00070     /// Returns nothing
00071     /// 
00072     System::Void SetAttributeValue(System::String* name, System::String* value);
00073 
00074     /// \brief
00075     /// Returns true if the dictionary contains the specified attribute.
00076     /// 
00077     /// \param name 
00078     /// Input attribute name
00079     /// 
00080     /// \return
00081     /// Returns true if the dictionary contains the specified attribute
00082     /// 
00083     System::Boolean ContainsAttribute(System::String* name);
00084 
00085     /// \brief
00086     /// Adds the specified attribute with the specified value to the dictionary.
00087     /// 
00088     /// \param name 
00089     /// Input name
00090     /// \param value 
00091     /// Input value
00092     /// 
00093     /// \return
00094     /// Returns nothing
00095     /// 
00096     System::Void Add(System::String* name, System::String* value);
00097 
00098     /// \brief
00099     /// Removes the specified attribute and its value from the dictionary.
00100     /// 
00101     /// \param name 
00102     /// Input name
00103     /// 
00104     /// \return
00105     /// Returns nothing
00106     /// 
00107     System::Void Remove(System::String* name);
00108 
00109     /// \brief
00110     /// Clears all attributes and values from the dictionary.
00111     /// 
00112     /// \return
00113     /// Returns nothing
00114     /// 
00115     System::Void Clear();
00116 
00117     /// \brief
00118     /// Constructs a SchemaAttributeDictionary object based on an unmanaged instance of the object
00119     /// 
00120     /// \param unmanaged 
00121     /// Input A Pointer to the unmanaged object.
00122     /// 
00123     /// \param autoDelete 
00124     /// Input Indicates if the constructed object should be automatically deleted 
00125     /// once it no longer referenced.
00126     /// 
00127     SchemaAttributeDictionary(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_COMMON_XML::XmlSaxHandler(unmanaged, autoDelete)
00128     {
00129         
00130     }
00131 
00132 /// \cond DOXYGEN-IGNORE
00133 protected:
00134     System::Void ReleaseUnmanagedObject();
00135 /// \endcond
00136 
00137 public private:
00138     inline FdoSchemaAttributeDictionary* GetImpObj();
00139 };
00140 
00141 END_NAMESPACE_OSGEO_FDO_SCHEMA
00142 
00143 

Comments or suggestions? Send us feedback.