24#include <fvutils/fileformat/fvfile_block.h>
58 size_t spec_header_size)
70 size_t spec_header_size)
94 spec_header_size_ = block->spec_header_size_;
95 block_size_ = block->block_size_;
96 block_memptr_ = block->block_memptr_;
100 block_owner_ =
false;
110FireVisionDataFileBlock::constructor(
unsigned int type,
113 size_t spec_header_size)
116 spec_header_size_ = spec_header_size;
119 block_memptr_ = calloc(1, block_size_);
125 if ((spec_header != NULL) && (spec_header_size > 0)) {
126 memcpy((
char *)block_memptr_ +
sizeof(
fvff_block_header_t), spec_header, spec_header_size);
143 if (spec_header_size != spec_header_size_) {
145 spec_header_size_ = spec_header_size;
148 void *newblock = calloc(1, block_size_);
154 block_memptr_ = newblock;
162 if ((spec_header != NULL) && (spec_header_size > 0)) {
163 memcpy((
char *)block_memptr_ +
sizeof(
fvff_block_header_t), spec_header, spec_header_size);
181 return block_header_->
type;
190 return block_memptr_;
FireVision File Format data block.
size_t data_size() const
Size of data chunk.
FireVisionDataFileBlock(unsigned int type, size_t data_size, void *spec_header, size_t spec_header_size)
Constructor.
void * _spec_header
Pointer to the content specific block header.
void * data_ptr() const
Get data pointer.
void * block_memptr() const
Pointer to the whole block.
unsigned int type() const
Get block type.
virtual ~FireVisionDataFileBlock()
Destructor.
void set_spec_header(void *spec_header, size_t spec_header_size)
Set content-specific header.
size_t _data_size
Size of _data in bytes.
void * _data
Pointer to the internal data segment.
size_t block_size() const
Size of blocks.