adtf_file_library  0.13.2
indexedfilereader_v110.h
Go to the documentation of this file.
1 
17 #ifndef INDEXEDFILE_V110_READER_CLASS_HEADER
18 #define INDEXEDFILE_V110_READER_CLASS_HEADER
19 
21 
22 namespace ifhd
23 {
24 namespace v110
25 {
26 
27 //*************************************************************************************************
32 {
33  protected:
34  uint32_t _flags;
39 
43  bool _data_valid;
44  bool _prefetched;
45  int64_t _chunk_index;
47 
48  protected:
50  void* _delegate;
52 
53  public:
58 
63 
72  void attach(utils5ext::File* file,
73  const a_util::filesystem::Path& file_name,
74  int cache_size=-1,
75  uint32_t flags=0);
76 
81  void close();
82 
87  void reset();
88 
96  int64_t getCurrentPos(int time_format) const;
97 
106  int64_t setCurrentPos(int64_t position, int time_format);
107 
115  int64_t getChunkIndexForIndexPos(int64_t index_pos) const;
120  int64_t getChunkIndexForIndexPos() const;
121 
131  int64_t seek(int64_t position, int time_format, uint32_t flags=0);
132 
138  void queryChunkInfo(ChunkHeader** chunk_header);
139 
145  void readChunk(void** data);
146 
151  void skipChunk();
152 
159  void readNextChunk(ChunkHeader** chunk_header, void** data);
160 
169  void readNextChunkInfo(ChunkHeader** chunk_header);
170 
176  int64_t getFilePos() const;
177 
183  int64_t getChunkCount() const;
184 
189  int64_t getIndexCount() const;
190 
196  timestamp_t getDuration() const;
197 
203  uint32_t getVersionId() const;
204 
211  bool findExtension(const std::string& identifier, FileExtension** extension_info, void** data) const;
212 
219  void getExtension(int index, FileExtension** extension_info, void** data) const;
220 
221  protected:
225  void initialize();
226 
231 
236 
241 
247  int64_t lookupChunkRef(int64_t position, int time_format);
248 
249  protected:
250 
255 
260 
264  void setEOF();
265 
271  void readDataBlock(void* buffer, long buffer_size);
272 
276  void checkFilePtr();
277 
282 
287 };
288 
289 } //namespace v100
290 } // namespace ifhd
291 
292 //*************************************************************************************************
293 #endif // _INDEXEDFILE_V110_READER_CLASS_HEADER_
Definition: indexedfilereader_v110.h:32
int64_t _chunk_index
current chunk index
Definition: indexedfilereader_v110.h:45
bool findExtension(const std::string &identifier, FileExtension **extension_info, void **data) const
void * _current_chunk_data
current chank data size in bytes
Definition: indexedfilereader_v110.h:41
int64_t getChunkIndexForIndexPos(int64_t index_pos) const
int64_t getChunkIndexForIndexPos() const
void readDataBlock(void *buffer, long buffer_size)
bool _prefetched
prefechted state of chunk
Definition: indexedfilereader_v110.h:44
void attach(utils5ext::File *file, const a_util::filesystem::Path &file_name, int cache_size=-1, uint32_t flags=0)
int64_t lookupChunkRef(int64_t position, int time_format)
bool _file_pos_invalid
validation state of file position
Definition: indexedfilereader_v110.h:38
void * _delegate
delegate object for compatibility
Definition: indexedfilereader_v110.h:50
uint32_t _flags
internal flags
Definition: indexedfilereader_v110.h:34
bool _compatibility_v100
reader in compatibility state
Definition: indexedfilereader_v110.h:49
bool _data_valid
validation state of chunk data
Definition: indexedfilereader_v110.h:43
int _index_table_size
index table size (amount of entries)
Definition: indexedfilereader_v110.h:36
int64_t _index_table_index
current index table index position
Definition: indexedfilereader_v110.h:46
IndexedFileV110::ChunkHeader * _current_chunk
current chunk header pointer
Definition: indexedfilereader_v110.h:40
timestamp_t getDuration() const
void readNextChunk(ChunkHeader **chunk_header, void **data)
IndexedFileV110::ChunkRef * _index_table
index table
Definition: indexedfilereader_v110.h:35
int64_t getCurrentPos(int time_format) const
void readNextChunkInfo(ChunkHeader **chunk_header)
int64_t seek(int64_t position, int time_format, uint32_t flags=0)
int64_t setCurrentPos(int64_t position, int time_format)
bool _header_valid
validation state of chunk header
Definition: indexedfilereader_v110.h:42
void getExtension(int index, FileExtension **extension_info, void **data) const
void queryChunkInfo(ChunkHeader **chunk_header)
IndexedFileV110::FileExtension _extension_info_v100
compatibility file extension
Definition: indexedfilereader_v110.h:51
int64_t _end_of_data_marker
end of data marker
Definition: indexedfilereader_v110.h:37
Definition: indexedfile_v110.h:52
Definition: file.h:121
namespace for IFHD File library
Definition: indexedfile_types.h:30
Definition: indexedfile_v110.h:140
Definition: indexedfile_v110.h:157
Definition: indexedfile_v110.h:120

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