xsi_userdatablob.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 __XSIUSERDATABLOB_H__
00018 #define __XSIUSERDATABLOB_H__
00019 
00020 #include <xsi_property.h>
00021 #include <xsi_value.h>
00022 #include <xsi_status.h>
00023 
00024 namespace XSI {
00025 
00026 //*****************************************************************************
00094 //*****************************************************************************
00095 
00096 class SICPPSDKDECL UserDataBlob : public Property
00097 {
00098 public:
00100     UserDataBlob();
00101 
00103     ~UserDataBlob();
00104 
00108     UserDataBlob(const CRef& in_ref);
00109 
00113     UserDataBlob(const UserDataBlob& in_obj);
00114 
00119     bool IsA( siClassID in_ClassID) const;
00120 
00124     siClassID GetClassID() const;
00125 
00131     UserDataBlob& operator=(const UserDataBlob& in_obj);
00132 
00138     UserDataBlob& operator=(const CRef& in_ref);
00139 
00151     CStatus GetValue( const unsigned char *& out_buffer, unsigned int& out_size ) const ;
00152 
00164     CStatus PutValue( const unsigned char * in_buffer, unsigned int in_size ) ;
00165 
00169     bool IsEmpty() const ;
00170 
00173     void Clear() ;
00174 
00177     unsigned int Size() const ;
00178 
00179     private:
00180     UserDataBlob * operator&() const;
00181     UserDataBlob * operator&();
00182 };
00183 
00184 };
00185 #endif // __XSIUSERDATABLOB_H__