HARDT - The Ham Radio DSP Toolkit
hbreaker.h
1 #ifndef __HBREAKER_H
2 #define __HBREAKER_H
3 
12 template <class T>
13 class HBreaker : public HFilter<T>
14 {
15  private:
16 
17  bool _off;
18 
19  public:
20 
22  HBreaker(HWriter<T>* writer, bool off, size_t blocksize);
23 
25  HBreaker(HWriterConsumer<T>* consumer, bool off, size_t blocksize);
26 
28  HBreaker(HReader<T>* reader, bool off, size_t blocksize);
29 
31  ~HBreaker();
32 
34  virtual void Filter(T* src, T* dest, size_t blocksize);
35 
37  void SetOff(bool off);
38 
40  bool GetOff() {
41  return _off;
42  }
43 
45  bool Start();
46 
48  bool Stop();
49 
50  int Write(T* src, size_t blocksize) {
51  return _off ? blocksize : HFilter<T>::Write(src, blocksize);
52  }
53 
54  int Read(T* dest, size_t blocksize) {
55  return _off ? 0 : HFilter<T>::Read(dest, blocksize);
56  }
57 };
58 
59 #endif
HBreaker::GetOff
bool GetOff()
Definition: hbreaker.h:40
HBreaker
Definition: hbreaker.h:13
HBreaker::HBreaker
HBreaker(HWriter< T > *writer, bool off, size_t blocksize)
Definition: hbreaker.cpp:12
HBreaker::SetOff
void SetOff(bool off)
Definition: hbreaker.cpp:49
HWriter
Definition: hwriter.h:10
HFilter
Definition: hfilter.h:14
HBreaker::Filter
virtual void Filter(T *src, T *dest, size_t blocksize)
Definition: hbreaker.cpp:42
HBreaker::~HBreaker
~HBreaker()
Definition: hbreaker.cpp:36
HReader
Definition: hreader.h:24
HFilter::Write
int Write(T *src, size_t blocksize)
Definition: hfilter.h:90
HBreaker::Write
int Write(T *src, size_t blocksize)
Definition: hbreaker.h:50
HBreaker::Start
bool Start()
Definition: hbreaker.cpp:71
HBreaker::Stop
bool Stop()
Definition: hbreaker.cpp:84
HBreaker::Read
int Read(T *dest, size_t blocksize)
Definition: hbreaker.h:54
HFilter::Read
int Read(T *dest, size_t blocksize)
Definition: hfilter.h:114
HWriterConsumer
Definition: hwriterconsumer.h:8