otsdaq  v1_01_03
 All Classes Namespaces Functions
SOAPMessenger.h
1 #ifndef _ots_SOAPMessenger_h
2 #define _ots_SOAPMessenger_h
3 
4 #pragma GCC diagnostic push
5 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
6 #include "xdaq/Application.h"
7 #pragma GCC diagnostic pop
8 #include "xcept/tools.h"
9 
10 #include <string>
11 
12 namespace ots
13 {
14 class SOAPCommand;
15 class SOAPParameters;
16 
17 class SOAPMessenger : public virtual toolbox::lang::Class
18 {
19 public:
20 
21  SOAPMessenger(xdaq::Application* application);
22  SOAPMessenger(const SOAPMessenger& aSOAPMessenger);
23 
24  std::string receive(const xoap::MessageReference& message);
25  std::string receive(const xoap::MessageReference& message, SOAPCommand& soapCommand);
26  std::string receive(const xoap::MessageReference& message, SOAPParameters& parameters);
27 
28  std::string send (const xdaq::ApplicationDescriptor* d, xoap::MessageReference message) throw (xdaq::exception::Exception);
29  std::string send (const xdaq::ApplicationDescriptor* d, SOAPCommand soapCommand) throw (xdaq::exception::Exception);
30  std::string send (const xdaq::ApplicationDescriptor* d, std::string command) throw (xdaq::exception::Exception);
31  std::string send (const xdaq::ApplicationDescriptor* d, std::string command, SOAPParameters parameters) throw (xdaq::exception::Exception);
32  std::string sendStatus(const xdaq::ApplicationDescriptor* d, std::string message) throw (xdaq::exception::Exception);
33 
34  xoap::MessageReference sendWithSOAPReply(const xdaq::ApplicationDescriptor* d, xoap::MessageReference message) throw (xdaq::exception::Exception);
35  xoap::MessageReference sendWithSOAPReply(const xdaq::ApplicationDescriptor* d, SOAPCommand soapCommand) throw (xdaq::exception::Exception);
36  xoap::MessageReference sendWithSOAPReply(const xdaq::ApplicationDescriptor* d, std::string command) throw (xdaq::exception::Exception);
37  xoap::MessageReference sendWithSOAPReply(const xdaq::ApplicationDescriptor* d, std::string command, SOAPParameters parameters) throw (xdaq::exception::Exception);
38 
39 protected:
40  xdaq::Application* theApplication_;
41 };
42 }
43 #endif