|
HARDT - The Ham Radio DSP Toolkit
|
1 #ifndef __HFILEWRITER_H
2 #define __HFILEWRITER_H
8 #include "hwriterconsumer.h"
18 std::ofstream _stream;
19 const std::string _filename;
27 _filename(std::string(filename)),
32 HFileWriter(
const std::string filename,
bool sequence =
false):
40 _filename(std::string(filename)),
56 virtual int Write(T* src,
size_t blocksize)
58 _stream.write((
char*) src, blocksize *
sizeof(T));
65 HLog(
"Trying to open stream for %s", _filename.c_str());
68 fname = std::to_string(_seqCount++) +
"-" + _filename;
72 _stream.open(fname.c_str(), std::ios::out | std::ios::binary | std::ios::trunc);
73 if( !_stream.is_open())
75 HError(
"Failed to open file %s", _filename.c_str());
78 HLog(
"Stream is open");
85 HLog(
"Closing stream");
93 _stream.seekp(bytes, std::ios::beg);
HFileWriter(const std::string filename, HWriterConsumer< T > *consumer, bool sequence=false)
Definition: hfilewriter.h:48
bool Stop()
Definition: hfilewriter.h:83
HFileWriter(const char *filename, HWriterConsumer< T > *consumer, bool sequence=false)
Definition: hfilewriter.h:39
virtual void SetWriter(HWriter< T > *writer)=0
void Seek(int bytes)
Definition: hfilewriter.h:91
bool Command(HCommand *command)
Definition: hfilewriter.h:97
HFileWriter(const std::string filename, bool sequence=false)
Definition: hfilewriter.h:32
virtual int Write(T *src, size_t blocksize)
Definition: hfilewriter.h:56
Definition: hcommand.h:81
bool Start()
Definition: hfilewriter.h:63
HFileWriter(const char *filename, bool sequence=false)
Definition: hfilewriter.h:26
Definition: hfilewriter.h:14
Definition: hwriterconsumer.h:8