(file) Return to Thread.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/Thread.h between version 1.1.2.11 and 1.1.2.13

version 1.1.2.11, 2001/10/01 21:45:41 version 1.1.2.13, 2001/10/03 16:55:03
Line 141 
Line 141 
  
 /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
  
 static void default_delete(void * data)  
 {  
    if( data != NULL)  
       std::operator delete(data);  
 }  
  
 class  PEGASUS_EXPORT thread_data class  PEGASUS_EXPORT thread_data
 { {
  
    public:    public:
         static void default_delete(void *data);
   
       thread_data( Sint8 *key ) : _delete_func(NULL) , _data(NULL), _size(0)       thread_data( Sint8 *key ) : _delete_func(NULL) , _data(NULL), _size(0)
       {       {
          PEGASUS_ASSERT(key != NULL);          PEGASUS_ASSERT(key != NULL);
Line 168 
Line 166 
          _key = new Sint8 [keysize + 1];          _key = new Sint8 [keysize + 1];
          memcpy(_key, key, keysize);          memcpy(_key, key, keysize);
          _key[keysize] = 0x00;          _key[keysize] = 0x00;
          _data = std:: operator new ( _size );           _data = ::operator new(_size) ;
  
       }       }
  
Line 181 
Line 179 
          _key = new Sint8[keysize + 1];          _key = new Sint8[keysize + 1];
          memcpy(_key, key, keysize);          memcpy(_key, key, keysize);
          _key[keysize] = 0x00;          _key[keysize] = 0x00;
          _data = std::operator new(_size);           _data = ::operator new(_size);
          memcpy(_data, data, size);          memcpy(_data, data, size);
       }       }
  
Line 194 
Line 192 
             delete [] _key;             delete [] _key;
       }       }
  
       void *get_data(void );        void put_data(void (*del)(void *), size_t size, void *data ) throw(NullPointer)
       Uint32 get_size(void);  
       void *put_data(void (*delete_func) (void *), Uint32 size, void *data  )  
       {       {
          void *old_data = data;           if(_data != NULL)
          _delete_func = delete_func;              if(_delete_func != NULL)
                  _delete_func(_data);
   
            _delete_func = del;
          _data = data;          _data = data;
          _size = size;          _size = size;
          return(old_data);           return ;
         }
   
         size_t get_size(void) { return _size; }
   
         void get_data(void **data, size_t *size)
         {
            if(data == NULL || size == NULL)
               throw NullPointer();
   
            *data = _data;
            *size = _size;
            return;
   
       }       }
   
         void copy_data(void **buf, size_t *size) throw(BufferTooSmall, NullPointer)
         {
            if((buf == NULL) || (size == NULL))
               throw NullPointer() ;
            *buf = ::operator new(_size);
            *size = _size;
            memcpy(*buf, _data, _size);
            return;
         }
   
       inline Boolean operator==(const void *key) const       inline Boolean operator==(const void *key) const
       {       {
          if ( ! strcmp(_key, (Sint8 *)key))          if ( ! strcmp(_key, (Sint8 *)key))


Legend:
Removed from v.1.1.2.11  
changed lines
  Added in v.1.1.2.13

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2