00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSIICENODEDEF_H__
00018 #define __XSIICENODEDEF_H__
00019
00020 #include <xsi_base.h>
00021 #include <xsi_value.h>
00022
00023 namespace XSI {
00024
00025
00034
00035
00036 class SICPPSDKDECL ICENodeDef : public CBase
00037 {
00038 public:
00039
00041 ICENodeDef();
00042
00044 ~ICENodeDef();
00045
00049 ICENodeDef(const CRef& in_ref);
00050
00054 ICENodeDef(const ICENodeDef& in_obj);
00055
00060 bool IsA( siClassID in_ClassID) const;
00061
00065 siClassID GetClassID() const;
00066
00071 ICENodeDef& operator=(const ICENodeDef& in_obj);
00072
00078 ICENodeDef& operator=(const CRef& in_ref);
00079
00090 CStatus PutThreadingModel( siICENodeThreadingModel in_nModel );
00091
00096 siICENodeThreadingModel GetThreadingModel( ) const;
00097
00106 CStatus AddPortGroup( ULONG in_uniqueGroupId,
00107 ULONG in_nMin=1,
00108 ULONG in_nMax=1,
00109 const CString in_strPrompt=CString() );
00110
00125 CStatus AddInputPort( ULONG in_uniquePortId,
00126 ULONG in_uniqueGroupId,
00127 ULONG in_nDataType,
00128 ULONG in_nStructType,
00129 ULONG in_nContextType,
00130 const CString& in_strName,
00131 const CString& in_strScriptName,
00132 const CValue& in_defaultVal = CValue(),
00133 ULONG in_typeMapId = ULONG_MAX,
00134 ULONG in_structMapId = ULONG_MAX,
00135 ULONG in_contextMapId = ULONG_MAX );
00136
00150 CStatus AddOutputPort( ULONG in_uniquePortId,
00151 ULONG in_uniqueGroupId,
00152 ULONG in_nDataType,
00153 ULONG in_nStructType,
00154 ULONG in_nContextType,
00155 const CString& in_strName,
00156 const CString& in_strScriptName,
00157 ULONG in_typeMapId = ULONG_MAX,
00158 ULONG in_structMapId = ULONG_MAX,
00159 ULONG in_contextMapId = ULONG_MAX );
00160
00161 private:
00162 ICENodeDef * operator&() const;
00163 ICENodeDef * operator&();
00164 };
00165
00166 };
00167 #endif // __XSIICENODEDEF_H__