MADARA  3.4.1
BufferFilter.h
Go to the documentation of this file.
1 
2 
3 #ifndef _MADARA_FILTERS_BUFFER_FILTER_H_
4 #define _MADARA_FILTERS_BUFFER_FILTER_H_
5 
13 #include <list>
14 
15 namespace madara
16 {
17 namespace filters
18 {
27 {
28 public:
32  virtual ~BufferFilter() {}
33 
41  virtual int encode(char* source, int size, int max_size) const = 0;
42 
50  virtual int decode(char* source, int size, int max_size) const = 0;
51 
56  virtual std::string get_id(void) = 0;
57 
62  virtual uint32_t get_version(void) = 0;
63 };
64 
65 typedef std::list<BufferFilter*> BufferFilters;
66 }
67 }
68 
69 #endif // _MADARA_FILTERS_AGGREGATE_FILTER_H_
Abstract base class for implementing buffer filters via a functor interface.
Definition: BufferFilter.h:27
virtual uint32_t get_version(void)=0
Gets the version of the filter.
virtual std::string get_id(void)=0
Gets the id of the filter.
virtual int encode(char *source, int size, int max_size) const =0
Encodes the buffer in place.
virtual int decode(char *source, int size, int max_size) const =0
Decodes the buffer in place.
virtual ~BufferFilter()
Destructor.
Definition: BufferFilter.h:32
std::list< BufferFilter * > BufferFilters
Definition: BufferFilter.h:65
constexpr string_t string
Copyright(c) 2020 Galois.