00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSICONTEXT_H__ 00018 #define __XSICONTEXT_H__ 00019 00020 #include <xsi_base.h> 00021 #include <xsi_value.h> 00022 00023 namespace XSI { 00024 00025 class ProjectItem ; 00026 class Parameter ; 00027 00028 00029 //***************************************************************************** 00044 //***************************************************************************** 00045 00046 class SICPPSDKDECL Context : public CBase 00047 { 00048 public: 00049 00051 Context(); 00052 00054 ~Context(); 00055 00059 Context(const CRef& in_ref); 00060 00064 Context(const Context& in_obj); 00065 00070 bool IsA( siClassID in_ClassID) const; 00071 00075 siClassID GetClassID() const; 00076 00081 Context& operator=(const Context& in_obj); 00082 00088 Context& operator=(const CRef& in_ref); 00089 00097 CRef GetSource() const ; 00098 00106 CValue GetAttribute( const CString& in_AttributeName ) ; 00107 00117 CStatus PutAttribute( const CString& in_AttributeName, const CValue& in_val ) ; 00118 00126 CStatus PutArrayAttribute( const CString& in_AttributeName, const CRefArray& in_array ) ; 00127 00132 CRefArray GetArrayAttribute( const CString& in_AttributeName ) const; 00133 00137 CValue GetUserData(); 00138 00151 CStatus PutUserData(const CValue& in_val); 00152 00153 private: 00154 Context * operator&() const; 00155 Context * operator&(); 00156 }; 00157 00158 }; 00159 #endif // __XSICONTEXT_H__