17 #ifndef INDEXEDFILE_WRITER_V201_V301_CLASS_HEADER
18 #define INDEXEDFILE_WRITER_V201_V301_CLASS_HEADER
34 class IndexedFileWriterImpl;
35 a_util::memory::unique_ptr<IndexedFileWriterImpl> _d;
54 timestamp_t time) = 0;
61 bool _catch_first_time;
62 timestamp_t _time_offset;
65 timestamp_t _last_chunk_time;
69 typedef struct TagStreamInfoAdd
76 StreamInfoAdd _stream_info_add[max_indexed_streams];
80 std::string _file_name;
81 std::string _temp_file_name;
83 std::string _prefix_of_temp_save_file_name;
138 void createAFileWithPrefixdAndAFileWithoutPrefix(
const std::string& filename,
139 std::string& save_filename,
140 uint32_t open_flags);
146 void renameTempSaveToFileName();
177 void open(
const std::string& filename,
179 uint64_t file_time_offset=0,
180 timestamp_t history = 0,
183 timestamp_t index_delay = 1000000);
203 timestamp_t time_stamp,
219 timestamp_t time_stamp,
221 bool& index_entry_appended);
232 const void* info_data,
233 uint32_t info_data_size,
234 bool use_as_reference=
false);
242 const char* stream_name);
Definition: indexwritetable_v201_v301.h:33
Definition: indexedfilewriter_v201_v301.h:42
virtual void onChunkDropped(uint64_t index, uint16_t stream_id, uint16_t flags, timestamp_t time)=0
Definition: indexedfilewriter_v201_v301.h:32
std::string getPrefix() const
void setAdditionalStreamInfo(uint16_t stream_id, const void *info_data, uint32_t info_data_size, bool use_as_reference=false)
void writeChunk(uint16_t stream_id, const void *data, uint32_t data_size, timestamp_t time_stamp, uint32_t flags, bool &index_entry_appended)
void open(const std::string &filename, uint32_t flags=0, uint64_t file_time_offset=0, timestamp_t history=0, utils5ext::FileSize history_size=0, ChunkDroppedCallback *drop_callback=nullptr, timestamp_t index_delay=1000000)
void setStreamName(uint16_t stream_id, const char *stream_name)
bool getPrefixTempFileExtensionMode() const
void setDateTime(const a_util::datetime::DateTime &date_time)
Sets the date and time of the file.
bool _use_prefix_temp_file_extension
Definition: indexedfilewriter_v201_v301.h:89
void setPrefixTempFileExtension(bool use_mode)
void writeChunk(uint16_t stream_id, const void *data, uint32_t data_size, timestamp_t time_stamp, uint32_t flags)
void writeFileHeaderExt()
std::string getNewFileNameWithPrefix(const std::string &filename) const
std::string getTempSaveFileName()
Definition: indexedfile_v201_v301.h:86
namespace for IFHD File library
Definition: indexedfile_types.h:30
utils5ext::FilePos FilePos
file pos type
Definition: indexedfile_types.h:54
FilePos FileSize
Type for the file size.
Definition: file.h:41