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\mgDataType.h" 00022 #include "FDO\Schema\mgPropertyType.h" 00023 00024 class FdoFunctionDefinition; 00025 00026 BEGIN_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES 00027 00028 public __gc class ArgumentDefinitionCollection; 00029 public __gc class ReadOnlyArgumentDefinitionCollection; 00030 public __gc class SignatureDefinitionCollection; 00031 public __gc class ReadOnlySignatureDefinitionCollection; 00032 00033 /// \ingroup (OSGeoFDOConnectionsCapabilities) 00034 /// \brief 00035 /// The FunctionDefinition class contains metadata that describes a function and its arguments. 00036 public __gc class FunctionDefinition : public NAMESPACE_OSGEO_RUNTIME::Disposable 00037 { 00038 public: 00039 /// \brief 00040 /// Constructs an instance of a FunctionDefinition using the specified arguments. 00041 /// 00042 /// \param name 00043 /// Input the name of the function. 00044 /// \param description 00045 /// Input a brief description. 00046 /// \param returnType 00047 /// Input the function return type 00048 /// \param arguments 00049 /// Input the argument definition list 00050 /// 00051 /// \return 00052 /// Returns FunctionDefinition 00053 /// 00054 FunctionDefinition (System::String *name, 00055 System::String *description, 00056 NAMESPACE_OSGEO_FDO_SCHEMA::DataType returnType, 00057 NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::ArgumentDefinitionCollection *arguments); 00058 00059 /// \brief 00060 /// Constructs an instance of a FunctionDefinition using the specified arguments. 00061 /// 00062 /// \param name 00063 /// Input the name of the function. 00064 /// \param description 00065 /// Input a brief description. 00066 /// \param isAggregate 00067 /// Input the flag indicating whether or not this is an aggregate function 00068 /// \param signatures 00069 /// Input the list of possible function signatures 00070 /// 00071 /// \return 00072 /// Returns FunctionDefinition 00073 /// 00074 FunctionDefinition (System::String *name, 00075 System::String *description, 00076 System::Boolean isAggregate, 00077 NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::SignatureDefinitionCollection *signatures); 00078 00079 /// \brief 00080 /// Gets the name of the function. 00081 /// 00082 /// \return 00083 /// Returns the name of the function 00084 /// 00085 __property System::String *get_Name(); 00086 00087 /// \brief 00088 /// Gets a brief description of the function. 00089 /// 00090 /// \return 00091 /// Returns the description of the function 00092 /// 00093 __property System::String *get_Description(); 00094 00095 /// \brief 00096 /// Gets an array of ArgumentDefinition objects required for the function. 00097 /// 00098 /// \return 00099 /// Returns the list of argument definitions 00100 /// 00101 __property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::ReadOnlyArgumentDefinitionCollection *get_Arguments(); 00102 00103 /// \brief 00104 /// Gets the PropertyType of the function return value. 00105 /// 00106 /// \return 00107 /// Returns the function return property type 00108 /// 00109 __property NAMESPACE_OSGEO_FDO_SCHEMA::PropertyType get_ReturnPropertyType(); 00110 00111 /// \brief 00112 /// Gets the DataType of the function return value. 00113 /// 00114 /// \return 00115 /// Returns the function return type 00116 /// 00117 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_ReturnType(); 00118 00119 /// \brief 00120 /// Indicates that this object allows its name to change. This function is 00121 /// defined so that this class can be a NamedCollection element. 00122 /// 00123 /// \return 00124 /// Returns true if the name of the object can be changed. 00125 /// 00126 __property System::Boolean get_CanSetName(); 00127 00128 /// \brief 00129 /// Gets an array of SignatureDefinition objects that describe the different signatures 00130 /// supported by the function. 00131 /// 00132 __property NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::ReadOnlySignatureDefinitionCollection *get_Signatures(); 00133 00134 /// 00135 /// \brief 00136 /// Returns true if the function is an aggregate function and false if it is a simple function. 00137 __property System::Boolean get_IsAggregate(); 00138 00139 /// \cond DOXYGEN-IGNORE 00140 protected: 00141 System::Void ReleaseUnmanagedObject(); 00142 /// \endcond 00143 00144 public private: 00145 FunctionDefinition(System::IntPtr unmanaged, System::Boolean autoDelete); 00146 00147 inline FdoFunctionDefinition* GetImpObj(); 00148 }; 00149 00150 END_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES 00151 00152
Comments or suggestions? Send us feedback. |