xsi_context.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 __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__