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\schema\mgSchemaElementState.h" 00022 00023 class FdoSchemaElement; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA 00026 public __gc class FeatureSchema; 00027 public __gc class SchemaAttributeDictionary; 00028 00029 /// \ingroup (OSGeoFDOSchema) 00030 /// \brief 00031 /// SchemaElement is an abstract class that acts as a base class for all classes 00032 /// in the Schema package. 00033 public __gc class SchemaElement : public NAMESPACE_OSGEO_COMMON_XML::XmlSaxHandler 00034 { 00035 public: 00036 /// \brief 00037 /// Gets the parent of this SchemaElement or null if this object has not 00038 /// been added to a parent object. 00039 /// 00040 /// \return 00041 /// Returns the SchemaElement of the parent 00042 /// 00043 __property NAMESPACE_OSGEO_FDO_SCHEMA::SchemaElement* get_Parent(); 00044 00045 /// \brief 00046 /// Gets the FeatureSchema this object is a part of. Returns null if this 00047 /// object has not been added to a feature schema. 00048 /// 00049 /// \return 00050 /// Returns the FeatureSchema this object is a part of 00051 /// 00052 __property NAMESPACE_OSGEO_FDO_SCHEMA::FeatureSchema* get_FeatureSchema(); 00053 00054 /// \brief 00055 /// Returns the current state of the schema element. 00056 /// 00057 /// \return 00058 /// Returns the current state of the schema element 00059 /// 00060 __property NAMESPACE_OSGEO_FDO_SCHEMA::SchemaElementState get_ElementState(); 00061 00062 /// \brief 00063 /// Gets an SchemaAttributeDictionary that contains the attributes 00064 /// associated with this SchemaElement. 00065 /// 00066 /// \return 00067 /// Returns an SchemaAttributeDictionary 00068 /// 00069 __property NAMESPACE_OSGEO_FDO_SCHEMA::SchemaAttributeDictionary* get_Attributes(); 00070 00071 /// \brief 00072 /// Gets the name of the schema object. 00073 /// 00074 /// \return 00075 /// Returns the name of the schema object 00076 /// 00077 __property System::String* get_Name(); 00078 00079 /// \brief 00080 /// Gets the fully qualified name of this schema element 00081 /// 00082 /// \return 00083 /// Default implementation simply returns the element name 00084 /// 00085 __property System::String* get_QualifiedName(); 00086 00087 /// \brief 00088 /// Sets the name of the schema object. 00089 /// 00090 /// \param value 00091 /// Input the name of the schema object 00092 /// 00093 __property System::Void set_Name(System::String* value); 00094 00095 /// \brief 00096 /// Indicates whether the name of the Element can be changed once 00097 /// it has been created. 00098 /// 00099 /// \return 00100 /// Returns true if the Element name can be changed; otherwise false. 00101 /// 00102 __property System::Boolean get_CanSetName(); 00103 00104 /// \brief 00105 /// Gets the description of the schema object. 00106 /// 00107 /// \return 00108 /// Returns the description of the schema object 00109 /// 00110 __property System::String* get_Description(); 00111 00112 /// \brief 00113 /// Sets the description of the schema object. 00114 /// 00115 /// \param value 00116 /// Input the description of the schema object 00117 /// 00118 __property System::Void set_Description(System::String* value); 00119 00120 /// \brief 00121 /// Marks the schema element for deletion by setting the element state to 00122 /// SchemaElementState_Deleted. If the schema elements current state is 00123 /// SchemaElementState_Added then the element is physically removed. If 00124 /// the current state is SchemaElementState_Detached this method does 00125 /// nothing. 00126 /// 00127 System::Void Delete(); 00128 00129 /// \brief 00130 /// Constructs a SchemaElement object based on an unmanaged instance of the object 00131 /// 00132 /// \param unmanaged 00133 /// Input A Pointer to the unmanaged object. 00134 /// 00135 /// \param autoDelete 00136 /// Input Indicates if the constructed object should be automatically deleted 00137 /// once it no longer referenced. 00138 /// 00139 SchemaElement(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_COMMON_XML::XmlSaxHandler(unmanaged, autoDelete) 00140 { 00141 00142 } 00143 00144 /// \cond DOXYGEN-IGNORE 00145 protected: 00146 System::Void ReleaseUnmanagedObject(); 00147 /// \endcond 00148 00149 public private: 00150 inline FdoSchemaElement* GetImpObj(); 00151 }; 00152 00153 END_NAMESPACE_OSGEO_FDO_SCHEMA 00154 00155
Comments or suggestions? Send us feedback. |