FDO .NET API Reference Feature Data Objects

mgPropertyDefinition.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\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.