FDO API Reference | Feature Data Objects |
00001 #ifndef _ARGUMENTDEFINITION_H_ 00002 #define _ARGUMENTDEFINITION_H_ 00003 // 00004 00005 // 00006 // Copyright (C) 2004-2006 Autodesk, Inc. 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of version 2.1 of the GNU Lesser 00010 // General Public License as published by the Free Software Foundation. 00011 // 00012 // This library is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 // Lesser General Public License for more details. 00016 // 00017 // You should have received a copy of the GNU Lesser General Public 00018 // License along with this library; if not, write to the Free Software 00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00020 // 00021 00022 #ifdef _WIN32 00023 #pragma once 00024 #endif 00025 00026 #include <FdoStd.h> 00027 #include <Fdo/Schema/PropertyType.h> 00028 #include <Fdo/Schema/DataType.h> 00029 00030 /// \brief 00031 /// The FdoArgumentDefinition class contains metadata that describes an argument to a function. 00032 class FdoArgumentDefinition : public FdoIDisposable 00033 { 00034 protected: 00035 /// \cond DOXYGEN-IGNORE 00036 /// Constructs an instance of an FdoArgumentDefinition using the specified arguments. 00037 FdoArgumentDefinition(FdoString* name, FdoString* description, FdoDataType dataType); 00038 00039 /// Constructs an instance of an FdoArgumentDefinition using the specified arguments. 00040 FdoArgumentDefinition(FdoString* name, FdoString* description, FdoPropertyType propertyType, FdoDataType dataType); 00041 00042 /// Constructs an instance of an FdoArgumentDefinition with default properties. 00043 FdoArgumentDefinition(); 00044 00045 virtual ~FdoArgumentDefinition(); 00046 00047 virtual void Dispose(); 00048 /// \endcond 00049 00050 public: 00051 /// \brief 00052 /// Constructs an instance of an FdoArgumentDefinition using the specified arguments. 00053 /// 00054 /// \param name 00055 /// Input the name of the argument. 00056 /// \param description 00057 /// Input a brief description of the argument. 00058 /// \param dataType 00059 /// Input the type of argument. 00060 /// 00061 /// \return 00062 /// Returns FdoArgumentDefinition 00063 /// 00064 FDO_API static FdoArgumentDefinition* Create(FdoString* name, FdoString* description, FdoDataType dataType); 00065 00066 /// \brief 00067 /// Constructs an instance of an FdoArgumentDefinition using the specified arguments. 00068 /// 00069 /// \param name 00070 /// Input the name of the argument. 00071 /// \param description 00072 /// Input a brief description of the argument. 00073 /// \param propertyType 00074 /// Input the property type of the argument 00075 /// \param dataType 00076 /// Input the data type of the argument; 00077 /// This is used only if the argument's property type is FdoPropertyType_DataProperty. 00078 /// 00079 /// \return 00080 /// Returns FdoArgumentDefinition 00081 /// 00082 FDO_API static FdoArgumentDefinition* Create(FdoString* name, FdoString* description, FdoPropertyType propertyType, FdoDataType dataType); 00083 00084 /// \brief 00085 /// Gets the name of the argument. 00086 /// 00087 /// \return 00088 /// Returns the argument name 00089 /// 00090 FDO_API FdoString* GetName(); 00091 00092 /// \brief 00093 /// Gets a brief description of the argument. 00094 /// 00095 /// \return 00096 /// Returns the argument description 00097 /// 00098 FDO_API FdoString* GetDescription(); 00099 00100 /// \brief 00101 /// Gets the FdoDataType of the argument. 00102 /// 00103 /// \return 00104 /// Returns the property type of the argument 00105 /// 00106 FDO_API FdoPropertyType GetPropertyType(); 00107 00108 /// \brief 00109 /// Gets the FdoDataType of the argument. 00110 /// 00111 /// \return 00112 /// Returns the data type of the argument; 00113 /// This is valid only if the argument's property type is FdoPropertyType_DataProperty. 00114 /// 00115 FDO_API FdoDataType GetDataType(); 00116 00117 protected: 00118 wchar_t* m_name; 00119 wchar_t* m_description; 00120 FdoPropertyType m_propertyType; 00121 FdoDataType m_dataType; 00122 }; 00123 #endif 00124 00125
Comments or suggestions? Send us feedback. |