xsi_icenodedef.h

Go to the documentation of this file.
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__