00001 #ifndef _ots_SOAPMessenger_h
00002 #define _ots_SOAPMessenger_h
00003
00004 #pragma GCC diagnostic push
00005 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
00006 #include <xdaq/Application.h>
00007 #pragma GCC diagnostic pop
00008 #include "otsdaq-core/Macros/XDAQApplicationMacros.h"
00009 #include <xcept/tools.h>
00010
00011
00012 #include "otsdaq-core/Macros/CoutMacros.h"
00013 #include <string>
00014
00015 namespace ots
00016 {
00017 class SOAPCommand;
00018 class SOAPParameters;
00019
00020 class SOAPMessenger : public virtual toolbox::lang::Class
00021 {
00022 public:
00023
00024 SOAPMessenger(xdaq::Application* application);
00025 SOAPMessenger(const SOAPMessenger& aSOAPMessenger);
00026
00027 std::string receive(const xoap::MessageReference& message);
00028 std::string receive(const xoap::MessageReference& message, SOAPCommand& soapCommand);
00029 std::string receive(const xoap::MessageReference& message, SOAPParameters& parameters);
00030
00031 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, xoap::MessageReference message) ;
00032 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, SOAPCommand soapCommand) ;
00033 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command) ;
00034 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command, SOAPParameters parameters) ;
00035 std::string sendStatus(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string message) ;
00036
00037 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, xoap::MessageReference message) ;
00038 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, SOAPCommand soapCommand) ;
00039 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command) ;
00040 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command, SOAPParameters parameters) ;
00041
00042 protected:
00043 xdaq::Application* theApplication_;
00044 };
00045 }
00046 #endif