MADARA  3.1.8
ZMQContext.h
Go to the documentation of this file.
1 #ifndef _MADARA_ZEROMQ_CONTEXT_H_
2 #define _MADARA_ZEROMQ_CONTEXT_H_
3 
4 #ifdef _MADARA_USING_ZMQ_
5 
14 #include "madara/MADARA_export.h"
15 #include <atomic>
16 
17 namespace madara
18 {
19  namespace transport
20  {
25  class MADARA_Export ZMQContext
26  {
27  public:
32  ZMQContext ();
33 
37  ~ZMQContext ();
38 
43  void destroy_context (void);
44 
49  inline void * get_context ()
50  {
51  return context_;
52  }
53 
58  void set_context (void * context);
59 
65  void add_ref (void);
66 
72  void rem_ref (void);
73 
74  private:
75 
77  void * context_;
78 
80  std::atomic<int> references_;
81  };
82 
83  extern MADARA_Export ZMQContext zmq_context;
84  }
85 }
86 
87 #endif // _MADARA_USING_ZMQ_
88 
89 #endif // _MADARA_ZEROMQ_CONTEXT_H_
Copyright (c) 2015 Carnegie Mellon University.