xsi_iceportstate.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 __XSIICEPORTSTATE_H__
00018 #define __XSIICEPORTSTATE_H__
00019 
00020 namespace XSI {
00021 
00022 class ICENodeContext;
00023 //*****************************************************************************
00101 //*****************************************************************************
00102 
00103 class SICPPSDKDECL CICEPortState
00104 {
00105     public:
00106     friend class ICENodeContext;
00107 
00110     enum DirtyState
00111     {
00112         siTypeDirtyState    = 1<<0, 
00114         siDataDirtyState    = 1<<1, 
00116         siTimeDirtyState    = 1<<2, 
00117         siAnyDirtyState     = siTypeDirtyState|siDataDirtyState|siTimeDirtyState 
00118     };
00119 
00125     CICEPortState( ICENodeContext& in_ctxt, ULONG in_nInputPortID, ULONG in_nInstanceIndex=0 ) ;
00126 
00128     CICEPortState();
00129 
00131     ~CICEPortState();
00132 
00136     CICEPortState(const CICEPortState& in_obj);
00137 
00142     bool operator == (const CICEPortState& in_obj) const;
00143 
00148     bool operator != (const CICEPortState& in_obj) const;
00149 
00154     CICEPortState& operator = (const CICEPortState& in_obj) ;
00155 
00159     bool IsValid() const;
00160 
00165     bool IsDirty( unsigned short in_flag=siAnyDirtyState ) const;
00166 
00169     void ClearState( );
00170 
00171     protected:
00172     CStatus Init( const ICENodeContext& in_ctxt, ULONG in_nInputPortID, ULONG in_nGroupInstID );
00173 
00174     void* m_pCtxt;
00175     ULONG m_nInputPortID;
00176 };
00177 
00178 };
00179 #endif // __XSIICEPORTSTATE_H__