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\mgSchemaElement.h" 00022 #include "FDO\Schema\mgPropertyType.h" 00023 00024 class FdoPropertyDefinition; 00025 00026 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA 00027 00028 /// \ingroup (OSGeoFDOSchema) 00029 /// \brief 00030 /// PropertyDefinition is an abstract class that derives from SchemaElement. 00031 /// PropertyDefinition is the base class of DataPropertyDefinition, 00032 /// GeometricPropertyDefinition, and ObjectPropertyDefinition. 00033 public __gc class PropertyDefinition : public NAMESPACE_OSGEO_FDO_SCHEMA::SchemaElement 00034 { 00035 public: 00036 /// \brief 00037 /// Abstract operation that must be implemented by derived classes to return the concrete property type. 00038 /// 00039 /// \return 00040 /// Returns the property type 00041 /// 00042 __property NAMESPACE_OSGEO_FDO_SCHEMA::PropertyType get_PropertyType(); 00043 00044 /// \brief 00045 /// Gets the fully qualified name of this property 00046 /// 00047 /// \return 00048 /// Returns {schema_name}:{class_name}.{property_name} 00049 /// 00050 __property System::String* get_QualifiedName(); 00051 00052 /// \brief 00053 /// Returns a Boolean value that indicates if this is a system generated property. 00054 /// 00055 /// \return 00056 /// Returns true if this property is system generated, false otherwise. 00057 /// 00058 /// \remarks 00059 /// System properties are not written out to the XML schema file, which remains provider-portable. 00060 /// 00061 __property System::Boolean get_IsSystem(); 00062 00063 /// \brief 00064 /// Sets whether this is a system property. 00065 /// This function must only be called by an FDO Provider. Typically, it would be 00066 /// called by the DescribeSchema command implementation. 00067 /// 00068 /// \param value 00069 /// Input true if this is a system property. 00070 /// 00071 __property System::Void set_IsSystem(System::Boolean value); 00072 00073 /// \brief 00074 /// Constructs a PropertyDefinition object based on an unmanaged instance of the object 00075 /// 00076 /// \param unmanaged 00077 /// Input A Pointer to the unmanaged object. 00078 /// 00079 /// \param autoDelete 00080 /// Input Indicates if the constructed object should be automatically deleted 00081 /// once it no longer referenced. 00082 /// 00083 PropertyDefinition(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_SCHEMA::SchemaElement(unmanaged, autoDelete) 00084 { 00085 00086 } 00087 00088 public private: 00089 inline FdoPropertyDefinition* GetImpObj(); 00090 }; 00091 00092 END_NAMESPACE_OSGEO_FDO_SCHEMA 00093 00094
Comments or suggestions? Send us feedback. |