MADARA  3.2.3
JavaBufferFilter.h
Go to the documentation of this file.
1 
2 
3 #ifndef _MADARA_FILTERS_JAVA_BUFFER_H_
4 #define _MADARA_FILTERS_JAVA_BUFFER_H_
5 
13 #ifdef _MADARA_JAVA_
14 #include <jni.h>
15 #include "madara_jni.h"
16 
17 #include <string>
18 
19 #include "madara/logger/Logger.h"
20 #include "madara/MadaraExport.h"
22 #include "../BufferFilter.h"
23 
24 namespace madara
25 {
26  namespace filters
27  {
32  class MADARA_EXPORT JavaBufferFilter : public BufferFilter
33  {
34  public:
38  JavaBufferFilter (logger::Logger & logger, jobject obj);
39 
43  virtual ~JavaBufferFilter ();
44 
52  virtual int encode (unsigned char * source, int size, int max_size) const;
53 
61  virtual int decode (unsigned char * source, int size, int max_size) const;
62 
63  private:
64 
65  // holds a reference to the Java object
66  jobject obj_;
67 
69  jclass class_;
70 
73  };
74  }
75 }
76 
77 #endif // _MADARA_JAVA_
78 
79 #endif // _MADARA_FILTERS_JAVA_BUFFER_H_
Provides knowledge logging services to files and terminals.
Definition: GlobalLogger.h:11
A multi-threaded logger for logging to one or more destinations.
Definition: Logger.h:88
Filters a buffer in Java.
jclass class_
the class of the Java object obj_
logger::Logger * logger_
a logger
Copyright (c) 2015 Carnegie Mellon University.
Abstract base class for implementing buffer filters via a functor interface.
Definition: BufferFilter.h:26