rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
smRequestorRaw.hpp
Go to the documentation of this file.
1 
9 #ifndef RAD_SM_REQUESTOR_RAW_HPP
10 #define RAD_SM_REQUESTOR_RAW_HPP
11 
12 #include <rad/anyEvent.hpp>
13 #include <rad/msgHandler.hpp>
14 #include <rad/msgRequestorRaw.hpp>
15 #include <rad/smAdapter.hpp>
16 
17 namespace rad {
18 
23 class SMRequestorRaw {
24  public:
25  SMRequestorRaw(const std::string& endpoint, const std::string& identity,
26  boost::asio::io_service& ios, SMAdapter& sm, UniqueEvent&& ok_event,
27  UniqueEvent&& err_event, UniqueEvent&& timeout_event);
28  virtual ~SMRequestorRaw();
29 
30  size_t Send(const std::string& payload_type, const std::string& payload,
31  const long timeout = 0);
32 
33  void ReplyHandler(const std::error_code& err_code, const std::string& msg_type_id,
34  const void* data, const size_t data_size);
35 
36  const std::string& GetReplyPayloadType();
37  const std::string& GetReplyPayload();
38 
39  SMRequestorRaw(const SMRequestorRaw&) = delete;
40  SMRequestorRaw& operator=(const SMRequestorRaw&) = delete;
41 
42  private:
43  MsgRequestorRaw m_msg_requestor_raw;
44  SMAdapter& m_sm;
45  UniqueEvent m_ok_event;
46  UniqueEvent m_err_event;
47  UniqueEvent m_timeout_event;
48  std::string m_reply_payload_type;
49  std::string m_reply_payload;
50 };
51 
52 } // namespace rad
53 
54 #endif // RAD_SM_REQUESTOR_RAW_HPP
virtual ~SMRequestorRaw()
Definition: smRequestorRaw.cpp:47
void ReplyHandler(const std::error_code &err_code, const std::string &msg_type_id, const void *data, const size_t data_size)
Definition: smRequestorRaw.cpp:71
std::unique_ptr< AnyEvent > UniqueEvent
Definition: anyEvent.hpp:45
SMRequestorRaw & operator=(const SMRequestorRaw &)=delete
const std::string & GetReplyPayloadType()
Definition: smRequestorRaw.cpp:99
const std::string & GetReplyPayload()
Definition: smRequestorRaw.cpp:91
size_t Send(const std::string &payload_type, const std::string &payload, const long timeout=0)
Definition: smRequestorRaw.cpp:57
SMRequestorRaw(const std::string &endpoint, const std::string &identity, boost::asio::io_service &ios, SMAdapter &sm, UniqueEvent &&ok_event, UniqueEvent &&err_event, UniqueEvent &&timeout_event)
Definition: smRequestorRaw.cpp:30