adtf_file_library  0.13.2
Public Member Functions | List of all members
ifhd::v400::IndexedFileReader Class Reference

More...

#include <indexedfilereader_v400.h>

Inheritance diagram for ifhd::v400::IndexedFileReader:
[legend]
Collaboration diagram for ifhd::v400::IndexedFileReader:
[legend]

Public Member Functions

 IndexedFileReader ()
 
std::set< uint32_t > getSupportedVersions () const
 Get a set of all supported versions. More...
 
- Public Member Functions inherited from ifhd::v201_v301::IndexedFileReader
 IndexedFileReader ()
 
 ~IndexedFileReader ()
 
virtual void open (const a_util::filesystem::Path &filename, const std::optional< size_t > &read_cache_size=IndexedFileReader::read_cache_default, uint32_t flags=0)
 
virtual void open (const std::shared_ptr< SourceFile > &source_file, uint32_t flags=0)
 
virtual void close ()
 
void reset ()
 
int64_t getCurrentPos (TimeFormat time_format) const
 
int64_t setCurrentPos (int64_t position, TimeFormat time_format)
 
int64_t seek (uint16_t stream_id, int64_t position, TimeFormat time_format, uint32_t flags=0)
 
void queryChunkInfo (ChunkHeader **chunk_header)
 
void readChunk (void **data, uint32_t flags=0)
 
void skipChunk ()
 
void readNextChunk (ChunkHeader **chunk_header, void **data, uint32_t flags=0, uint32_t stream_id=0)
 
void skipChunkInfo ()
 
void readNextChunkInfo (ChunkHeader **chunk_header)
 
int64_t getFilePos () const
 
int64_t getChunkCount () const
 
timestamp_t getDuration () const
 
uint32_t getVersionId () const
 
timestamp_t getTimeOffset () const
 
int64_t getStreamTableIndexCount (uint16_t stream_id) const
 
int64_t getStreamIndexCount (uint16_t stream_id) const
 
void getAdditionalStreamInfo (uint16_t stream_id, const void **info_data, size_t *info_size) const
 
std::string getStreamName (uint16_t stream_id) const
 
bool streamExists (uint16_t stream_id) const
 Checks if stream with given id exists. More...
 
timestamp_t getFirstTime (uint16_t stream_id) const
 
timestamp_t getLastTime (uint16_t stream_id) const
 
size_t getExtensionCount () const
 
bool findExtension (const char *identifier, FileExtension **extension_info, void **data) const
 
void getExtension (size_t index, FileExtension **extension_info, void **data) const
 
int64_t lookupChunkRef (uint16_t stream_id, int64_t position, TimeFormat time_format) const
 
bool getLastChunkWithFlagBefore (uint64_t chunk_index, uint16_t stream_id, uint16_t flag, ChunkHeader &header, std::vector< uint8_t > &data)
 
- Public Member Functions inherited from ifhd::v201_v301::IndexedFile
 IndexedFile ()
 
virtual ~IndexedFile ()
 
void setDescription (const std::string &description)
 
std::string getDescription () const
 
std::string getGUID () const
 
a_util::datetime::DateTime getDateTime () const
 
uint8_t getByteOrder () const
 
size_t getExtensionCount () const
 
bool findExtension (const char *identifier, FileExtension **extension_info, void **data) const
 
void getExtension (size_t index, FileExtension **extension_info, void **data) const
 
void appendExtension (const char *identifier, const void *data, size_t data_size, uint32_t type_id=0, uint32_t file_version_id=0, uint16_t stream_id=0, uint32_t user_id=0)
 
void appendExtension (const void *data, const FileExtension *extension_info)
 
void freeExtensions ()
 
void getHeaderRef (FileHeader **file_header) const
 

Additional Inherited Members

- Static Public Attributes inherited from ifhd::v201_v301::IndexedFileReader
static constexpr auto read_cache_default = std::nullopt
 
static constexpr size_t read_cache_deactivated = 0
 
- Protected Types inherited from ifhd::v201_v301::IndexedFile
typedef std::list< FileExtensionStruct * > FileExtensionList
 own type definition for a better work with file extension lists
 
- Protected Member Functions inherited from ifhd::v201_v301::IndexedFileReader
virtual void initialize ()
 
void readFileHeader ()
 
void readFileHeaderExt ()
 
void readCurrentChunkHeader ()
 
void readCurrentChunkData (void *buffer)
 
void setEOF ()
 
void readDataBlock (void *buffer, size_t buffer_size)
 
void checkFilePtr ()
 
void allocReadBuffers ()
 
void freeReadBuffers ()
 
- Protected Member Functions inherited from ifhd::v201_v301::IndexedFile
void setDateTime (const a_util::datetime::DateTime &date_time)
 
void allocBuffer (uint64_t size)
 
void freeBuffer ()
 
void allocHeader ()
 
void freeHeader ()
 
void allocExtensionPage (utils5ext::FileSize size, void **data) const
 
void setGUID ()
 
void generateNewGUID (std::string &generated_guid)
 
void allocCache (int64_t size)
 
void freeCache ()
 
void * getCacheAddr () const
 
void * internalMalloc (size_t size) const
 
void internalFree (void *memory) const
 
- Protected Attributes inherited from ifhd::v201_v301::IndexedFile
utils5ext::File _file
 the open file
 
FilePos _file_pos
 current filepos
 
uint8_t * _buffer
 internal Buffer
 
int64_t _buffer_size
 internal Buffer size
 
FileHeader_file_header
 current file header
 
bool _write_guid
 protection for writing GUID
 
FileExtensionList _extensions
 list with all extensions
 
void * _cache
 cache data area
 
uint64_t _cache_size
 size of cache
 
bool _write_mode
 For internal use only (will be moved to a private implementation).
 
- Static Protected Attributes inherited from ifhd::v201_v301::IndexedFile
static const uint8_t byte_order
 current value of platform ByteOrder ( More...
 
static int64_t default_block_size
 Default block size in bytes.
 
static int64_t default_cache_size
 Default cache size in bytes.
 

Detailed Description

Class for reading indexed files.

Constructor & Destructor Documentation

◆ IndexedFileReader()

ifhd::v400::IndexedFileReader::IndexedFileReader ( )
inline

CTOR

Member Function Documentation

◆ getSupportedVersions()

std::set<uint32_t> ifhd::v400::IndexedFileReader::getSupportedVersions ( ) const
inlinevirtual

Get a set of all supported versions.

Returns
std::set<uint32_t> see page_ifhd_file_versions

Reimplemented from ifhd::v201_v301::IndexedFile.

Reimplemented in ifhd::v500::IndexedFileReader.


The documentation for this class was generated from the following file:

Copyright © CARIAD SE.
Generated on Mon Jun 10 2024 by doxygen 1.9.1
GIT Commit Hash: eb3af397a6b49ad6fcad9a60d8277d909b458b48