| 
    VRS
    
   A file format for sensor data. 
   | 
 
Abstract class to handle the interpretation of a record format's content block. More...
#include <ContentBlockReader.h>
  
Public Member Functions | |
| virtual | ~ContentBlockReader () | 
| Virtual destructor, since this is an abstract class.  | |
| virtual bool | readBlock (const CurrentRecord &, RecordFormatStreamPlayer &)=0 | 
Static Public Member Functions | |
| static unique_ptr< ContentBlockReader > | build (const RecordFormat &recordFormat, size_t blockIndex, unique_ptr< DataLayout > &&blockLayout) | 
Protected Member Functions | |
| ContentBlockReader (const RecordFormat &recordFormat, size_t blockIndex) | |
| bool | findNextContentBlockSpec (const CurrentRecord &record, RecordFormatStreamPlayer &player) | 
| size_t | findContentBlockSize (const CurrentRecord &record, RecordFormatStreamPlayer &player) | 
| uint32_t | findAudioSampleCount (const CurrentRecord &record, RecordFormatStreamPlayer &player) | 
Protected Attributes | |
| const RecordFormat & | recordFormat_ | 
| const size_t | blockIndex_ | 
| unique_ptr< datalayout_conventions::NextContentBlockSpec > | contentBlockSpec_ | 
Abstract class to handle the interpretation of a record format's content block.
Specialized versions of this class will handle specific types of content blocks.
      
  | 
  static | 
Factory style constructor, which will determine what ContentBlockReader object needs to be created to handle the referenced block.
| recordFormat | RecordFormat of the record. | 
| blockIndex | Index of the block to build a ContentBlockReader for. | 
| blockLayout | optional DataLayout, if the block is a DataLayout block. | 
      
  | 
  pure virtual | 
Method called by RecordFormatStreamPlayer when a content block needs to be read. To be implemented by each specialized ContentBlockReader class, which can then interpret the data of the format it expects.
Implemented in vrs::ImageBlockReader, vrs::AudioBlockReader, vrs::CustomBlockReader, vrs::UnsupportedBlockReader, vrs::EmptyBlockReader, and vrs::DataLayoutBlockReader.