DataBlock Class Reference
A class that holds just a block of raw data.
More...
#include <yateclass.h>
List of all members.
Public Member Functions |
| DataBlock () |
| DataBlock (const DataBlock &value) |
| DataBlock (void *value, unsigned int len, bool copyData=true) |
virtual | ~DataBlock () |
virtual void * | getObject (const String &name) const |
void * | data () const |
unsigned char * | data (unsigned int offs, unsigned int len=1) const |
int | at (unsigned int offs, int defvalue=-1) const |
bool | null () const |
unsigned int | length () const |
void | clear (bool deleteData=true) |
DataBlock & | assign (void *value, unsigned int len, bool copyData=true) |
void | append (void *value, unsigned int len) |
void | append (const DataBlock &value) |
void | append (const String &value) |
void | insert (const DataBlock &value) |
void | truncate (unsigned int len) |
void | cut (int len) |
int | operator[] (signed int index) const |
int | operator[] (unsigned int index) const |
DataBlock & | operator= (const DataBlock &value) |
DataBlock & | operator+= (const DataBlock &value) |
DataBlock & | operator+= (const String &value) |
bool | convert (const DataBlock &src, const String &sFormat, const String &dFormat, unsigned maxlen=0) |
bool | unHexify (const char *data, unsigned int len, char sep=0) |
String | sqlEscape (char extraEsc) const |
Static Public Member Functions |
static const DataBlock & | empty () |
Detailed Description
A class that holds just a block of raw data.
The DataBlock holds a data buffer with no specific formatting.
Constructor & Destructor Documentation
Constructs an empty data block
DataBlock |
( |
void * |
value, |
|
|
unsigned int |
len, |
|
|
bool |
copyData = true | |
|
) |
| | |
Constructs an initialized data block
- Parameters:
-
| value | Data to assign, may be NULL to fill with zeros |
| len | Length of data, may be zero (then value is ignored) |
| copyData | True to make a copy of the data, false to just insert the pointer |
Destroys the data, disposes the memory.
Member Function Documentation
void append |
( |
const String & |
value |
) |
|
Append a String to the current block
- Parameters:
-
Append data to the current block
- Parameters:
-
void append |
( |
void * |
value, |
|
|
unsigned int |
len | |
|
) |
| | [inline] |
Append data to the current block
- Parameters:
-
| value | Data to append |
| len | Length of data |
References DataBlock::clear().
DataBlock& assign |
( |
void * |
value, |
|
|
unsigned int |
len, |
|
|
bool |
copyData = true | |
|
) |
| | |
Assign data to the object
- Parameters:
-
| value | Data to assign, may be NULL to fill with zeros |
| len | Length of data, may be zero (then value is ignored) |
| copyData | True to make a copy of the data, false to just insert the pointer |
Referenced by ISDNFrame::getData().
int at |
( |
unsigned int |
offs, |
|
|
int |
defvalue = -1 | |
|
) |
| | const [inline] |
Get the value of a single byte inside the stored data
- Parameters:
-
| offs | Byte offset inside the stored data |
| defvalue | Default value to return if offset is outside data |
- Returns:
- Byte value at offset (0-255) or defvalue if offset outside data
Referenced by ISDNFrame::getAi(), and ISDNFrame::getType().
void clear |
( |
bool |
deleteData = true |
) |
|
bool convert |
( |
const DataBlock & |
src, |
|
|
const String & |
sFormat, |
|
|
const String & |
dFormat, |
|
|
unsigned |
maxlen = 0 | |
|
) |
| | |
Convert data from a different format
- Parameters:
-
| src | Source data block |
| sFormat | Name of the source format |
| dFormat | Name of the destination format |
| maxlen | Maximum amount to convert, 0 to use source |
- Returns:
- True if converted successfully, false on failure
Cut off a number of bytes from the data block
- Parameters:
-
| len | Amount to cut, positive to cut from end, negative to cut from start of block |
unsigned char* data |
( |
unsigned int |
offs, |
|
|
unsigned int |
len = 1 | |
|
) |
| | const [inline] |
Get a pointer to a byte range inside the stored data.
- Parameters:
-
| offs | Byte offset inside the stored data |
| len | Number of bytes that must be valid starting at offset |
- Returns:
- A pointer to the data or NULL if the range is not available.
void* data |
( |
|
) |
const [inline] |
A static empty data block
virtual void* getObject |
( |
const String & |
name |
) |
const [virtual] |
Get a pointer to a derived class given that class name
- Parameters:
-
| name | Name of the class we are asking for |
- Returns:
- Pointer to the requested class or NULL if this object doesn't implement it
Reimplemented from GenObject.
Insert data before the current block
- Parameters:
-
unsigned int length |
( |
|
) |
const [inline] |
bool null |
( |
|
) |
const [inline] |
Checks if the block holds a NULL pointer.
- Returns:
- True if the block holds NULL, false otherwise.
Appending operator for Strings.
int operator[] |
( |
unsigned int |
index |
) |
const [inline] |
Byte indexing operator with unsigned parameter
- Parameters:
-
| index | Index of the byte to retrieve |
- Returns:
- Byte value at offset (0-255) or -1 if index outside data
int operator[] |
( |
signed int |
index |
) |
const [inline] |
Byte indexing operator with signed parameter
- Parameters:
-
| index | Index of the byte to retrieve |
- Returns:
- Byte value at offset (0-255) or -1 if index outside data
String sqlEscape |
( |
char |
extraEsc |
) |
const |
Create an escaped string suitable for use in SQL queries
- Parameters:
-
| extraEsc | Character to escape other than the default ones |
- Returns:
- A string with binary zeros and other special characters escaped
void truncate |
( |
unsigned int |
len |
) |
|
Truncate the data block
- Parameters:
-
| len | The maximum length to keep |
bool unHexify |
( |
const char * |
data, |
|
|
unsigned int |
len, |
|
|
char |
sep = 0 | |
|
) |
| | |
Build this data block from a hexadecimal string representation. Each octet must be represented in the input string with 2 hexadecimal characters. If a separator is specified, the octets in input string must be separated using exactly 1 separator. Only 1 leading or 1 trailing separators are allowed
- Parameters:
-
| data | Input character string |
| len | Length of the input string |
| sep | Separator character used between octets. 0 if no separator is expected |
- Returns:
- True if the input string was succesfully parsed, false otherwise
The documentation for this class was generated from the following file: