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