tdaq-develop-2025-02-12
SOAPMessenger.h
1 #ifndef _ots_SOAPMessenger_h
2 #define _ots_SOAPMessenger_h
3 
4 #pragma GCC diagnostic push
5 #pragma GCC diagnostic ignored "-Wunused-parameter"
6 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
7 #if __GNUC__ >= 8
8 #pragma GCC diagnostic ignored "-Wcatch-value"
9 #endif
10 #if __GNUC__ >= 9
11 #pragma GCC diagnostic ignored "-Wdeprecated-copy"
12 #endif
13 #include <xdaq/Application.h>
14 #pragma GCC diagnostic pop
15 #include <xcept/tools.h>
16 #include "otsdaq/Macros/XDAQApplicationMacros.h"
17 
18 #include "otsdaq/SOAPUtilities/SOAPUtilities.h" /* for SOAPCommand & SOAPParameters */
19 
20 #include <string>
21 #include "otsdaq/Macros/CoutMacros.h" /* for XDAQ_CONST_CALL */
22 
23 namespace ots
24 {
25 class SOAPMessenger : public virtual toolbox::lang::Class
26 {
27  public:
28  SOAPMessenger(xdaq::Application* application);
29  SOAPMessenger(const SOAPMessenger& aSOAPMessenger);
30 
31  std::string send(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d,
32  xoap::MessageReference message);
33  std::string send(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d,
34  SOAPCommand soapCommand);
35  std::string send(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command);
36  std::string send(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d,
37  std::string command,
38  SOAPParameters parameters);
39  std::string sendStatus(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d,
40  std::string message);
41 
42  xoap::MessageReference sendWithSOAPReply(
43  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, xoap::MessageReference message);
44  xoap::MessageReference sendWithSOAPReply(
45  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, SOAPCommand soapCommand);
46  xoap::MessageReference sendWithSOAPReply(
47  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command);
48  xoap::MessageReference sendWithSOAPReply(
49  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d,
50  std::string command,
51  SOAPParameters parameters);
52 
53  protected:
54  xdaq::Application* theApplication_;
55 };
56 } // namespace ots
57 #endif
std::string send(XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, xoap::MessageReference message)