ifw  0.0.1-dev
 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 
24 public:
25  using payload_t = TYPE;
26 
27  MsgRequest();
28  MsgRequest(const std::string& origId, const TYPE& pb);
29  MsgRequest(const MsgRequest<TYPE>& r);
30 
31  virtual ~MsgRequest();
32 
34 
35  const std::string& GetOriginatorId() const;
36  const TYPE& GetProtoBuffer() const;
37 
38  void SetOriginatorId(const std::string& id);
39  void SetProtoBuffer(const TYPE& pb);
40 
41 private:
42  std::string mOriginatorId;
43  TYPE mProtoBuffer;
44 };
45 
46 template<typename TYPE>
48 {
49  RAD_LOG_TRACE();
50 }
51 
52 template<typename TYPE>
53 MsgRequest<TYPE>::MsgRequest(const std::string& origId, const TYPE& pb)
54  : mOriginatorId(origId),
55  mProtoBuffer(pb)
56 {
57  RAD_LOG_TRACE();
58 }
59 
60 template<typename TYPE>
62  : mOriginatorId(r.GetOriginatorId()),
63  mProtoBuffer(r.GetProtoBuffer())
64 {
65  RAD_LOG_TRACE();
66 }
67 
68 template<typename TYPE>
70 {
71  RAD_LOG_TRACE();
72 }
73 
74 template<typename TYPE>
76 {
77  RAD_LOG_TRACE();
78  if (&r != this) {
79  mOriginatorId = r.GetOriginatorId();
80  mProtoBuffer = r.GetProtoBuffer();
81  }
82  return *this;
83 }
84 
85 template<typename TYPE>
86 const std::string& MsgRequest<TYPE>::GetOriginatorId() const
87 {
88  RAD_LOG_TRACE();
89  return mOriginatorId;
90 }
91 
92 template<typename TYPE>
94 {
95  RAD_LOG_TRACE();
96  return mProtoBuffer;
97 }
98 
99 template<typename TYPE>
100 void MsgRequest<TYPE>::SetOriginatorId(const std::string& id)
101 {
102  RAD_LOG_TRACE();
103  mOriginatorId = id;
104 }
105 
106 template<typename TYPE>
108 {
109  RAD_LOG_TRACE();
110  mProtoBuffer = pb;
111 }
112 
113 } // namespace rad
114 
115 #endif
Definition: MsgRequest.hpp:22
virtual ~MsgRequest()
Definition: MsgRequest.hpp:69
Definition: requests.pb.h:5446
string id
Definition: requests.proto:15
const std::string & GetOriginatorId() const
Definition: MsgRequest.hpp:86
MsgRequest()
Definition: MsgRequest.hpp:47
#define RAD_LOG_TRACE()
Definition: Logger.hpp:319
void SetProtoBuffer(const TYPE &pb)
Definition: MsgRequest.hpp:107
const MsgRequest< TYPE > & operator=(const MsgRequest< TYPE > &r)
Definition: MsgRequest.hpp:75
void SetOriginatorId(const std::string &id)
Definition: MsgRequest.hpp:100
const TYPE & GetProtoBuffer() const
Definition: MsgRequest.hpp:93