내가 이딴건 왜 만들었을까...
class SafeData {
public:
SafeData();
virtual ~SafeData();
void SetByCopy( Data inData );
void SetByCopy( uint8 *d, int l );
void SetByRef( Data inData );
void SetByRef( uint8 *d, int l );
uint8 *GetData();
int GetLength();
void Clear();
protected:
uint8 *pBuffer;
int length;
};
SafeData::SafeData()
{
pBuffer = NULL;
length = 0;
};
SafeData::~SafeData()
{
Clear();
};
void SafeData::SetByCopy( Data inData )
{
Clear();
pBuffer = new uint8[inData.len];
if( pBuffer==NULL )
return;
length = inData.len;
memcpy( pBuffer, inData.d, length );
}
void SafeData::SetByCopy( uint8 *d, int l )
{
Clear();
pBuffer = new uint8[l];
if( pBuffer==NULL )
return;
length = l;
memcpy( pBuffer, d, length );
}
void SafeData::SetByRef( Data inData )
{
Clear();
pBuffer = inData.d;
length = inData.len;
}
void SafeData::SetByRef( uint8 *d, int l )
{
Clear();
pBuffer = d;
length = l;
}
uint8 *SafeData::GetData() {return pBuffer;}
int SafeData::GetLength() {return length;}
void SafeData::Clear()
{
if( pBuffer )
{
delete [] pBuffer;
pBuffer = NULL;
}
length = 0;
}
public:
SafeData();
virtual ~SafeData();
void SetByCopy( Data inData );
void SetByCopy( uint8 *d, int l );
void SetByRef( Data inData );
void SetByRef( uint8 *d, int l );
uint8 *GetData();
int GetLength();
void Clear();
protected:
uint8 *pBuffer;
int length;
};
SafeData::SafeData()
{
pBuffer = NULL;
length = 0;
};
SafeData::~SafeData()
{
Clear();
};
void SafeData::SetByCopy( Data inData )
{
Clear();
pBuffer = new uint8[inData.len];
if( pBuffer==NULL )
return;
length = inData.len;
memcpy( pBuffer, inData.d, length );
}
void SafeData::SetByCopy( uint8 *d, int l )
{
Clear();
pBuffer = new uint8[l];
if( pBuffer==NULL )
return;
length = l;
memcpy( pBuffer, d, length );
}
void SafeData::SetByRef( Data inData )
{
Clear();
pBuffer = inData.d;
length = inData.len;
}
void SafeData::SetByRef( uint8 *d, int l )
{
Clear();
pBuffer = d;
length = l;
}
uint8 *SafeData::GetData() {return pBuffer;}
int SafeData::GetLength() {return length;}
void SafeData::Clear()
{
if( pBuffer )
{
delete [] pBuffer;
pBuffer = NULL;
}
length = 0;
}