FDO .NET API Reference | Feature Data Objects |
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. |