rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
msgRequest.hpp
Go to the documentation of this file.
1 
9 #ifndef RAD_MSG_REQUEST_HPP
10 #define RAD_MSG_REQUEST_HPP
11 
12 #include <rad/logger.hpp>
13 
14 #include <string>
15 
16 namespace rad {
17 
21 template <typename TYPE>
22 class MsgRequest {
23  public:
24  using payload_t = TYPE;
25 
26  MsgRequest();
27  MsgRequest(const std::string& orig_id, const TYPE& pb);
28  MsgRequest(const MsgRequest<TYPE>& r);
29 
30  virtual ~MsgRequest();
31 
33 
34  const std::string& GetOriginatorId() const;
35  const TYPE& GetProtoBuffer() const;
36 
37  void SetOriginatorId(const std::string& id);
38  void SetProtoBuffer(const TYPE& pb);
39 
40  private:
41  std::string m_originator_id;
42  TYPE m_proto_buffer;
43 };
44 
45 template <typename TYPE>
48 }
49 
50 template <typename TYPE>
51 MsgRequest<TYPE>::MsgRequest(const std::string& orig_id, const TYPE& pb)
52  : m_originator_id(orig_id), m_proto_buffer(pb) {
54 }
55 
56 template <typename TYPE>
57 MsgRequest<TYPE>::MsgRequest(const MsgRequest<TYPE>& r)
58  : m_originator_id(r.GetOriginatorId()), m_proto_buffer(r.GetProtoBuffer()) {
60 }
61 
62 template <typename TYPE>
63 MsgRequest<TYPE>::~MsgRequest() {
65 }
66 
67 template <typename TYPE>
68 const MsgRequest<TYPE>& MsgRequest<TYPE>::operator=(const MsgRequest<TYPE>& r) {
70  if (&r != this) {
71  m_originator_id = r.GetOriginatorId();
72  m_proto_buffer = r.GetProtoBuffer();
73  }
74  return *this;
75 }
76 
77 template <typename TYPE>
78 const std::string& MsgRequest<TYPE>::GetOriginatorId() const {
80  return m_originator_id;
81 }
82 
83 template <typename TYPE>
84 const TYPE& MsgRequest<TYPE>::GetProtoBuffer() const {
86  return m_proto_buffer;
87 }
88 
89 template <typename TYPE>
90 void MsgRequest<TYPE>::SetOriginatorId(const std::string& id) {
92  m_originator_id = id;
93 }
94 
95 template <typename TYPE>
96 void MsgRequest<TYPE>::SetProtoBuffer(const TYPE& pb) {
98  m_proto_buffer = pb;
99 }
100 
101 } // namespace rad
102 
103 #endif // RAD_MSG_REQUEST_HPP
log4cplus::Logger & GetLogger()
Definition: logger.cpp:43
Definition: msgRequest.hpp:22
virtual ~MsgRequest()
Definition: msgRequest.hpp:63
Definition: requests.pb.h:1372
const std::string & GetOriginatorId() const
Definition: msgRequest.hpp:78
MsgRequest()
Definition: msgRequest.hpp:46
#define RAD_TRACE(logger)
Definition: logger.hpp:19
void SetProtoBuffer(const TYPE &pb)
Definition: msgRequest.hpp:96
const MsgRequest< TYPE > & operator=(const MsgRequest< TYPE > &r)
Definition: msgRequest.hpp:68
void SetOriginatorId(const std::string &id)
Definition: msgRequest.hpp:90
const TYPE & GetProtoBuffer() const
Definition: msgRequest.hpp:84