AlarmNotifications
PANDA Slow Control Alarm Daemon
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
cmsclient.h
Go to the documentation of this file.
1 
34 #ifndef CMSCLIENT_H
35 #define CMSCLIENT_H
36 
37 #include "oldgcccompat.h" // Compatibilty macros for GCC < 4.7
38 
39 #include <cms/CMSException.h>
40 #include <cms/ExceptionListener.h>
41 #include <cms/MessageListener.h>
42 
49 namespace cms
50 {
51 // Forward declarations
52 class Connection;
53 class Destination;
54 class MessageConsumer;
55 class Session;
56 }
57 
58 namespace AlarmNotifications
59 {
60 
61 class AlarmServerConnector; // Forward declaration
62 
70 class CMSClient : public cms::MessageListener, public cms::ExceptionListener
71 {
72 private:
84  cms::Connection* _connection;
90  cms::Session* _session;
96  cms::Destination* _topicServer;
102  cms::MessageConsumer* _consumerServer;
103 
111  virtual void onMessage ( const cms::Message* message ) noexcept;
119  virtual void onException ( const cms::CMSException& ex ) noexcept;
120 public:
135  ~CMSClient();
142  CMSClient ( const CMSClient& other ) = delete;
149  CMSClient ( CMSClient&& other ) = delete;
157  CMSClient& operator= ( const CMSClient& other ) = delete;
165  CMSClient& operator= ( CMSClient&& other ) = delete;
166 };
167 
168 }
169 
170 #endif // CMSCLIENT_H