LOM2M  0.8.0
ResponsePrimitive.h
Go to the documentation of this file.
1 /*
2  Copyright (c) 2013-2021 LAAS-CNRS (www.laas.fr)
3  7 Colonel Roche 31077 Toulouse - France
4 
5  The use of this source code requires an agreement with the CNRS.
6 
7  Initial Contributors:
8  David Gauchard, Guillaume Garzone, Thierry Monteil.
9 */
10 
11 #ifndef __LOM2M_RESPONSEPRIMITIVE_H
12 #define __LOM2M_RESPONSEPRIMITIVE_H
13 
14 #include "configuration.h"
15 
16 #include <WString.h>
17 
19 {
20  R000_VOID = 0,
21  R2000_OK = 2000,
23  R2002_DELETED = 2002,
24  R2004_UPDATED = 2004,
25  R2001_CREATED = 2001,
39 };
40 
42 {
43  CS_NULL = -1,
45  CS_MOBILE = 2
46 };
47 
49 {
50 protected:
51  String m_protocol;
52  String m_mqttTopic;
54  String m_ri;
55  String m_content;
56  String m_to;
57  String m_from;
60  // event category
63 
64  // TODO assigned token identifiers
65  // TODO token request information
66  // TODO authorization signature request information
68  // TODO release version indicator
70 
71 
72 
73  String m_location;
74  String m_contentType;
75  String m_resourceId;
76 
77 
78  // rel. >= 2 parameters
79  String m_rvi = "3";
80 
81  // TODO Missing implem of optional parameters
82 
83 public:
84  static ResponseStatusCode getRSCFromString(String rsc);
85 
90  {
91  this->init();
92  }
93 
94  ResponsePrimitive(const String& ri, const String& from, const String& to, ResponseStatusCode rsc)
95  {
96  this->init();
97  m_from = from;
98  m_to = to;
99  m_ri = ri;
100  m_rsc = rsc;
101  }
102  const String& getMqttTopic() const
103  {
104  return this->m_mqttTopic;
105  }
106  void setMqttTopic(const String& mqttTopic)
107  {
108  this->m_mqttTopic = mqttTopic;
109  }
110  String getProtocol() const
111  {
112  return this->m_protocol;
113  }
114  void setProtocol(const String& m_protocol)
115  {
116  this->m_protocol = m_protocol;
117  }
119  {
120  return this->m_contentStatus;
121  }
122  void setContentStatus(ContentStatus contentStatus)
123  {
124  this->m_contentStatus = contentStatus;
125  }
126  const String& getVendorInformation() {
127  return this->m_vendorInformation;
128  }
129  void setVendorInformation(const String& vendorInformation) {
130  this->m_vendorInformation = vendorInformation;
131  }
133  {
135  }
137  return (this->m_authorizationSignatureRequestInformation == 1);
138  }
139  void setAuthorizationSignatureRequestInformation(bool authorizationSignatureRequestInformation) {
140  if (authorizationSignatureRequestInformation)
141  {
142  this->m_authorizationSignatureRequestInformation = 1;
143  }
144  else
145  {
146  this->m_authorizationSignatureRequestInformation = 0;
147  }
148  }
150  {
151  return this->m_contentOffset;
152  }
153  void setContentOffset(int contentOffset)
154  {
155  this->m_contentOffset = contentOffset;
156  }
158  {
159  return this->m_resultExpirationTimestamp;
160  }
161  void setResultExpirationTimestamp(const String& resultExpirationTimestamp)
162  {
163  this->m_resultExpirationTimestamp = resultExpirationTimestamp;
164  }
165 
166  const String& getOriginatingTimetsamp()
167  {
168  return this->m_originatingTimestamp;
169  }
170 
171  void setOriginatingTimestamp(const String& originatingTimestamp)
172  {
173  this->m_originatingTimestamp = originatingTimestamp;
174  }
175  String getLocation() const
176  {
177  return this->m_location;
178  }
179  void setLocation(const String& location)
180  {
181  this->m_location = location;
182  }
183  String getContent() const
184  {
185  return this->m_content;
186  }
187  void setContent(const String& content)
188  {
189  this->m_content = content;
190  }
191  String getContentType() const
192  {
193  return this->m_contentType;
194  }
195  void setContentType(const String& contentType)
196  {
197  this->m_contentType = contentType;
198  }
199  void init();
200 
201  void setTo(const String& to)
202  {
203  m_to = to;
204  }
205 
206  String getTo() const
207  {
208  return m_to;
209  }
210 
211  void setFrom(const String& from)
212  {
213  m_from = from;
214  }
215 
216  String getFrom() const
217  {
218  return m_from;
219  }
220 
221  void setRequestId(const String& ri)
222  {
223  m_ri = ri;
224  }
225 
226  String getRequestId() const
227  {
228  return m_ri;
229  }
230  void setResourceId(const String& ri)
231  {
232  m_resourceId = ri;
233  }
234 
235  String getResourceId() const
236  {
237  return m_resourceId;
238  }
239 
241  {
242  m_rsc = rsc;
243  }
244  void setResponseStatusCode(const String& rsc)
245  {
247  }
248 
250  {
251  return m_rsc;
252  }
253 
255  {
256  return m_rvi;
257  }
258  void setReleaseVersionIndicator(const String& rvi)
259  {
260  m_rvi = rvi;
261  }
262 
263 };
264 
265 #endif // __LOM2M_RESPONSEPRIMITIVE_H
ContentStatus
Definition: ResponsePrimitive.h:42
@ CS_NULL
Definition: ResponsePrimitive.h:43
@ CS_STATIONARY
Definition: ResponsePrimitive.h:44
@ CS_MOBILE
Definition: ResponsePrimitive.h:45
ResponseStatusCode
Definition: ResponsePrimitive.h:19
@ R2002_DELETED
Definition: ResponsePrimitive.h:23
@ R5103_TARGET_NOT_REACHABLE
Definition: ResponsePrimitive.h:32
@ R5106_ALREADY_EXISTS
Definition: ResponsePrimitive.h:33
@ R4004_NOT_FOUND
Definition: ResponsePrimitive.h:28
@ R5207_NOT_ACCEPTABLE
Definition: ResponsePrimitive.h:38
@ R4008_REQUEST_TIMEOUT
Definition: ResponsePrimitive.h:30
@ R4005_OPERATION_NOT_ALLOWED
Definition: ResponsePrimitive.h:29
@ R5206_NON_BLOCKING_SYNCH_REQUEST_NOT_SUPPORTED
Definition: ResponsePrimitive.h:37
@ R204_NO_CONTENT
Definition: ResponsePrimitive.h:22
@ R4105_CONFLICT
Definition: ResponsePrimitive.h:31
@ R5000_INTERNAL_SERVER_ERROR
Definition: ResponsePrimitive.h:35
@ R2001_CREATED
Definition: ResponsePrimitive.h:25
@ R4000_BAD_REQUEST
Definition: ResponsePrimitive.h:26
@ R4015_UNSUPPORTED_MEDIA_TYPE
Definition: ResponsePrimitive.h:34
@ R2000_OK
Definition: ResponsePrimitive.h:21
@ R5001_NOT_IMPLEMENTED
Definition: ResponsePrimitive.h:36
@ R000_VOID
Definition: ResponsePrimitive.h:20
@ R2004_UPDATED
Definition: ResponsePrimitive.h:24
@ R4103_ORIGINATOR_HAS_NO_PRIVILEGE
Definition: ResponsePrimitive.h:27
const char * contentType(const String &filename)
Definition: bsp-esp8266.cpp:13
Definition: ResponsePrimitive.h:49
void setResultExpirationTimestamp(const String &resultExpirationTimestamp)
Definition: ResponsePrimitive.h:161
const String & getResultExpirationTimestamp()
Definition: ResponsePrimitive.h:157
String m_vendorInformation
Definition: ResponsePrimitive.h:69
ResponseStatusCode getResponseStatusCode() const
Definition: ResponsePrimitive.h:249
String getContent() const
Definition: ResponsePrimitive.h:183
String getResourceId() const
Definition: ResponsePrimitive.h:235
void setContent(const String &content)
Definition: ResponsePrimitive.h:187
String getFrom() const
Definition: ResponsePrimitive.h:216
static ResponseStatusCode getRSCFromString(String rsc)
Definition: ResponsePrimitive.cpp:27
void setMqttTopic(const String &mqttTopic)
Definition: ResponsePrimitive.h:106
int getContentOffset()
Definition: ResponsePrimitive.h:149
void setFrom(const String &from)
Definition: ResponsePrimitive.h:211
String getRequestId() const
Definition: ResponsePrimitive.h:226
ContentStatus m_contentStatus
Definition: ResponsePrimitive.h:61
String m_content
Definition: ResponsePrimitive.h:55
String m_to
Definition: ResponsePrimitive.h:56
void setOriginatingTimestamp(const String &originatingTimestamp)
Definition: ResponsePrimitive.h:171
void setResourceId(const String &ri)
Definition: ResponsePrimitive.h:230
void setContentType(const String &contentType)
Definition: ResponsePrimitive.h:195
const String & getVendorInformation()
Definition: ResponsePrimitive.h:126
const String & getOriginatingTimetsamp()
Definition: ResponsePrimitive.h:166
const String & getMqttTopic() const
Definition: ResponsePrimitive.h:102
String m_mqttTopic
Definition: ResponsePrimitive.h:52
void setContentStatus(ContentStatus contentStatus)
Definition: ResponsePrimitive.h:122
ResponsePrimitive(const String &ri, const String &from, const String &to, ResponseStatusCode rsc)
Definition: ResponsePrimitive.h:94
String m_location
Definition: ResponsePrimitive.h:73
void setReleaseVersionIndicator(const String &rvi)
Definition: ResponsePrimitive.h:258
void setProtocol(const String &m_protocol)
Definition: ResponsePrimitive.h:114
void setAuthorizationSignatureRequestInformation(bool authorizationSignatureRequestInformation)
Definition: ResponsePrimitive.h:139
int m_contentOffset
Definition: ResponsePrimitive.h:62
void setResponseStatusCode(ResponseStatusCode rsc)
Definition: ResponsePrimitive.h:240
String getContentType() const
Definition: ResponsePrimitive.h:191
void init()
Definition: ResponsePrimitive.cpp:15
String m_resultExpirationTimestamp
Definition: ResponsePrimitive.h:59
String getTo() const
Definition: ResponsePrimitive.h:206
String getLocation() const
Definition: ResponsePrimitive.h:175
String getProtocol() const
Definition: ResponsePrimitive.h:110
String m_originatingTimestamp
Definition: ResponsePrimitive.h:58
String m_rvi
Definition: ResponsePrimitive.h:79
void setLocation(const String &location)
Definition: ResponsePrimitive.h:179
String m_protocol
Definition: ResponsePrimitive.h:51
String m_from
Definition: ResponsePrimitive.h:57
void setResponseStatusCode(const String &rsc)
Definition: ResponsePrimitive.h:244
String m_resourceId
Definition: ResponsePrimitive.h:75
int getAuthorizationSignatureRequestInformationInt()
Definition: ResponsePrimitive.h:132
String getReleaseVersionIndicator() const
Definition: ResponsePrimitive.h:254
void setTo(const String &to)
Definition: ResponsePrimitive.h:201
void setRequestId(const String &ri)
Definition: ResponsePrimitive.h:221
int m_authorizationSignatureRequestInformation
Definition: ResponsePrimitive.h:67
String m_contentType
Definition: ResponsePrimitive.h:74
ContentStatus getContentStatus()
Definition: ResponsePrimitive.h:118
void setContentOffset(int contentOffset)
Definition: ResponsePrimitive.h:153
ResponsePrimitive()
Definition: ResponsePrimitive.h:89
ResponseStatusCode m_rsc
Definition: ResponsePrimitive.h:53
void setVendorInformation(const String &vendorInformation)
Definition: ResponsePrimitive.h:129
bool getAuthorizationSignatureRequestInformation()
Definition: ResponsePrimitive.h:136
String m_ri
Definition: ResponsePrimitive.h:54
MqttTopic mqttTopic
Definition: mqttBinding.cpp:191