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 <xcept/tools.h>
00009
00010
00011 #include "otsdaq-core/Macros/CoutHeaderMacros.h"
00012 #include <string>
00013
00014 namespace ots
00015 {
00016 class SOAPCommand;
00017 class SOAPParameters;
00018
00019 class SOAPMessenger : public virtual toolbox::lang::Class
00020 {
00021 public:
00022
00023 SOAPMessenger(xdaq::Application* application);
00024 SOAPMessenger(const SOAPMessenger& aSOAPMessenger);
00025
00026 std::string receive(const xoap::MessageReference& message);
00027 std::string receive(const xoap::MessageReference& message, SOAPCommand& soapCommand);
00028 std::string receive(const xoap::MessageReference& message, SOAPParameters& parameters);
00029
00030 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, xoap::MessageReference message) throw (xdaq::exception::Exception);
00031 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, SOAPCommand soapCommand) throw (xdaq::exception::Exception);
00032 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command) throw (xdaq::exception::Exception);
00033 std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command, SOAPParameters parameters) throw (xdaq::exception::Exception);
00034 std::string sendStatus(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string message) throw (xdaq::exception::Exception);
00035
00036 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, xoap::MessageReference message) throw (xdaq::exception::Exception);
00037 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, SOAPCommand soapCommand) throw (xdaq::exception::Exception);
00038 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command) throw (xdaq::exception::Exception);
00039 xoap::MessageReference sendWithSOAPReply(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* d, std::string command, SOAPParameters parameters) throw (xdaq::exception::Exception);
00040
00041 protected:
00042 xdaq::Application* theApplication_;
00043 };
00044 }
00045 #endif