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 __XSIUSERDATAMAP_H__
00018 #define __XSIUSERDATAMAP_H__
00019
00020 #include <xsi_property.h>
00021 #include <xsi_value.h>
00022 #include <xsi_status.h>
00023 #include <xsi_customproperty.h>
00024 #include <xsi_userdataarray.h>
00025 #include <xsi_bitarray.h>
00026
00027 namespace XSI {
00028
00029
00286
00287
00288 class SICPPSDKDECL UserDataMap : public Property
00289 {
00290 public:
00292 UserDataMap();
00293
00295 ~UserDataMap();
00296
00300 UserDataMap(const CRef& in_ref);
00301
00305 UserDataMap(const UserDataMap& in_obj);
00306
00311 bool IsA( siClassID in_ClassID) const;
00312
00316 siClassID GetClassID() const;
00317
00323 UserDataMap& operator=(const UserDataMap& in_obj);
00324
00330 UserDataMap& operator=(const CRef& in_ref);
00331
00336 LONG GetCount() const ;
00337
00341 void Clear() ;
00342
00355 bool IsLittleEndian() const ;
00356
00360 void PutLittleEndian( bool in_bLittleEndian ) ;
00361
00376 CustomProperty GetTemplate() const ;
00377
00383 CStatus PutTemplate( const CustomProperty& in_Template ) ;
00384
00411 CStatus GetItemValue( LONG in_Offset, const unsigned char *& out_buffer, UINT& out_size ) const ;
00412
00429 CStatus PutItemValue( LONG in_Offset, const unsigned char * in_buffer, UINT in_size ) ;
00430
00440 bool IsItemEmpty( LONG in_lOffset ) const ;
00441
00448 UINT GetItemSize( LONG in_lOffset ) const ;
00449
00455 void ClearItem( LONG in_Offset ) ;
00456
00466 CStatus GetValues( CUserDataArray& out_data ) const;
00467
00481 CStatus GetValues( CUserDataArray& out_data, CBitArray& out_elemIdx) const;
00482
00507 CStatus SetValues(
00508 const unsigned char** in_pValues,
00509 const LONG* in_pSizeArray,
00510 LONG in_nValues,
00511 LONG in_nOffset=0);
00512
00530 CStatus SetValues(
00531 const LONG* in_pElements,
00532 const unsigned char** in_pValues,
00533 const LONG* in_pSizeArray,
00534 LONG in_nElements );
00535
00561 CStatus SetFixedSizeValues(
00562 const unsigned char** in_pValues,
00563 LONG in_nValues,
00564 LONG in_nSize,
00565 LONG in_nOffset=0);
00566
00586 CStatus SetFixedSizeValues(
00587 const LONG* in_pElements,
00588 const unsigned char** in_pValues,
00589 LONG in_nElements,
00590 LONG in_nSize );
00591
00592 private:
00593 UserDataMap * operator&() const;
00594 UserDataMap * operator&();
00595 };
00596
00597 };
00598 #endif // __XSIUSERDATAMAP_H__