FDO .NET API Reference Feature Data Objects

mgPhysicalElementMapping.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\Commands\Schema\mgIPhysicalElementMapping.h"
00022 
00023 class PhysicalElementMapping;
00024 
00025 BEGIN_NAMESPACE_OSGEO_COMMON
00026 public __gc class StringCollection;
00027 END_NAMESPACE_OSGEO_COMMON
00028 
00029 BEGIN_NAMESPACE_OSGEO_COMMON_XML
00030 public __gc class XmlSaxContext;
00031 public __gc class XmlWriter;
00032 public __gc class XmlAttributeCollection;
00033 END_NAMESPACE_OSGEO_COMMON_XML
00034 
00035 BEGIN_NAMESPACE_OSGEO_FDO_XML
00036 public __gc class XmlFlags;
00037 END_NAMESPACE_OSGEO_FDO_XML
00038 
00039 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00040 public __gc __interface IPhysicalElementMapping;
00041 public __gc class PhysicalSchemaMapping;
00042 
00043 /// \ingroup (OSGeoFDOCommandsSchema)
00044 /// \brief
00045 /// PhysicalElementMapping is an abstract class that acts as a base class for all 
00046 /// Physical Schema Mapping Override classes. FDO also provides a number of sub-classes
00047 /// for particular types of Provider-specific override classes:
00048 ///
00049 /// \li \c PhysicalClassMapping: All classes corresponding to Feature Classes
00050 /// must be based on PhysicalClassMapping.
00051 /// \li \c PhysicalPropertyMapping: Must be the base for all classes corresponding to 
00052 /// Properties.
00053 /// \li \c PhysicalSchemaMapping: Must be the base for all types of schema override sets.
00054 /// \li \c Other types of schema override classes can be based directly on 
00055 /// PhysicalElementMapping.
00056 /// 
00057 public __gc class PhysicalElementMapping : public NAMESPACE_OSGEO_COMMON_XML::XmlSaxHandler, public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::IPhysicalElementMapping
00058 {
00059 public:
00060     /// \brief
00061     /// Gets the parent of this PhysicalElementMapping or null if this object has not
00062     /// been added to a parent object.
00063     /// 
00064     /// \return
00065     /// Returns the PhysicalElementMapping of the parent
00066     /// 
00067     __property NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::IPhysicalElementMapping* get_Parent();
00068 
00069     /// \brief
00070     /// Gets the PhysicalSchemaMapping that this element is a part of. Returns null if this
00071     /// object has not been added to a feature schema.
00072     /// 
00073     /// \return
00074     /// Returns the PhysicalSchemaMapping this object is a part of
00075     /// 
00076     __property NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* get_SchemaMapping();
00077 
00078     /// \brief
00079     /// Gets the name of this element.
00080     /// 
00081     /// \return
00082     /// Returns the name of this element.
00083     /// 
00084     __property System::Void set_Name(System::String* name);
00085 
00086     /// \brief
00087     /// Gets the fully qualified name of this element
00088     /// 
00089     /// \return
00090     /// The Default implementation simply returns the element name
00091     /// 
00092     __property System::String* get_Name();
00093     
00094     /// \brief
00095     /// Gets the fully qualified name of this element.
00096     /// 
00097     /// \return
00098     /// Returns the qualified name of this element 
00099     /// 
00100     __property System::String* get_QualifiedName();
00101 
00102     /// \brief
00103     // Indicates that this object allows its name
00104     // to change. This function is defined so that this class can 
00105     // be a NamedCollection element.
00106     ///
00107     /// \return
00108     /// Returns true if the name of the object can be changed.
00109     /// 
00110     __property System::Boolean get_CanSetName();
00111 
00112     /// \brief
00113     /// Initializes this Physical Element Mapping from its XML attributes. Called when
00114     /// the element is deserialized from XML. Can be extended to handle 
00115     /// particular XML attributes for derived classes.
00116     /// 
00117     /// \param context 
00118     /// Input context contain information about the current deserialization operation
00119     /// \param attributes 
00120     /// Input the XML attributes.
00121     /// 
00122     /// \return
00123     /// Returns nothing
00124     /// 
00125     System::Void InitFromXml(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, NAMESPACE_OSGEO_COMMON_XML::XmlAttributeCollection* attributes);
00126 
00127     /// \brief
00128     /// Writes this Physical Mapping Element to XML. Called when
00129     /// the element is serialized to XML. Can be extended to handle 
00130     /// particular XML attributes and sub-elements for derived classes.
00131     /// 
00132     /// \param xmlWriter 
00133     /// Input write the element to this XML writer
00134     /// \param flags 
00135     /// Input flags that control the writing of the element.
00136     /// 
00137     /// \return
00138     /// Returns nothing
00139     /// 
00140     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00141 
00142     /// \brief
00143     /// Error reporting function that are not yet part of the supported FDO API.
00144     /// Return a XmlSkipElementHandler, which can be used to skip over the element in error.
00145     ///
00146     /// \param context 
00147     /// Input context contain information about the current deserialization operation
00148     ///
00149     /// \param parentElement 
00150     /// Input the XML parent element
00151     ///
00152     /// \param subElement 
00153     /// Input the XML sub element
00154     ///
00155     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* SubElementError(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* parentElement, System::String* subElement);
00156 
00157     /// \brief
00158     /// Error reporting function that are not yet part of the supported FDO API.
00159     /// Return a XmlSkipElementHandler, which can be used to skip over the element in error.
00160     ///
00161     /// \param context 
00162     /// Input context contain information about the current deserialization operation
00163     ///
00164     /// \param parentElement 
00165     /// Input the XML parent element
00166     ///
00167     /// \param subElement 
00168     /// Input the XML sub element
00169     ///
00170     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* MultiSubElementError(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* parentElement, System::String* subElement);
00171 
00172     /// \brief
00173     /// Error reporting function that are not yet part of the supported FDO API.
00174     /// Return a XmlSkipElementHandler, which can be used to skip over the element in error.
00175     ///
00176     /// \param context 
00177     /// Input context contain information about the current deserialization operation
00178     ///
00179     /// \param parentElement 
00180     /// Input the XML parent element
00181     ///
00182     /// \param subElements 
00183     /// Input the list of the XML sub elements
00184     ///
00185     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* ChoiceSubElementError(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* parentElement, NAMESPACE_OSGEO_COMMON::StringCollection* subElements);
00186 
00187     /// \brief
00188     /// Error reporting function that are not yet part of the supported FDO API.
00189     /// Return a XmlSkipElementHandler, which can be used to skip over the element in error.
00190     ///
00191     /// \param context 
00192     /// Input context contain information about the current deserialization operation
00193     ///
00194     /// \param parentElement 
00195     /// Input the XML parent element
00196     ///
00197     /// \param subElement 
00198     /// Input the XML sub element
00199     ///
00200     /// \param subElementName
00201     /// Input the XML sub element name
00202     ///
00203     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* DuplicateSubElementError(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* parentElement, System::String* subElement, System::String* subElementName);
00204 
00205 /// \cond DOXYGEN-IGNORE
00206 protected:
00207     System::Void ReleaseUnmanagedObject();
00208 /// \endcond
00209 
00210 public protected:
00211     PhysicalElementMapping(System::IntPtr unmanaged, System::Boolean autoDelete);
00212 
00213 public private:
00214     inline FdoPhysicalElementMapping* GetImpObj();
00215 };
00216 
00217 END_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00218 
00219 

Comments or suggestions? Send us feedback.