FRDM K64F Metronome

Committer:
ram54288
Date:
Sun May 14 18:37:05 2017 +0000
Revision:
0:dbad57390bd1
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:dbad57390bd1 1 /*
ram54288 0:dbad57390bd1 2 * Copyright (c) 2015 ARM Limited. All rights reserved.
ram54288 0:dbad57390bd1 3 * SPDX-License-Identifier: Apache-2.0
ram54288 0:dbad57390bd1 4 * Licensed under the Apache License, Version 2.0 (the License); you may
ram54288 0:dbad57390bd1 5 * not use this file except in compliance with the License.
ram54288 0:dbad57390bd1 6 * You may obtain a copy of the License at
ram54288 0:dbad57390bd1 7 *
ram54288 0:dbad57390bd1 8 * http://www.apache.org/licenses/LICENSE-2.0
ram54288 0:dbad57390bd1 9 *
ram54288 0:dbad57390bd1 10 * Unless required by applicable law or agreed to in writing, software
ram54288 0:dbad57390bd1 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
ram54288 0:dbad57390bd1 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ram54288 0:dbad57390bd1 13 * See the License for the specific language governing permissions and
ram54288 0:dbad57390bd1 14 * limitations under the License.
ram54288 0:dbad57390bd1 15 */
ram54288 0:dbad57390bd1 16 #include "m2mbase_stub.h"
ram54288 0:dbad57390bd1 17 #include "m2mstringbufferbase_stub.h"
ram54288 0:dbad57390bd1 18 #include <assert.h>
ram54288 0:dbad57390bd1 19
ram54288 0:dbad57390bd1 20 uint8_t m2mbase_stub::uint8_value;
ram54288 0:dbad57390bd1 21 uint16_t m2mbase_stub::uint16_value;
ram54288 0:dbad57390bd1 22 uint32_t m2mbase_stub::uint32_value;
ram54288 0:dbad57390bd1 23 uint16_t m2mbase_stub::int_value;
ram54288 0:dbad57390bd1 24 int32_t m2mbase_stub::name_id_value;
ram54288 0:dbad57390bd1 25
ram54288 0:dbad57390bd1 26 bool m2mbase_stub::bool_value;
ram54288 0:dbad57390bd1 27 const char *m2mbase_stub::string_value;
ram54288 0:dbad57390bd1 28 const char *m2mbase_stub::object_instance_name;
ram54288 0:dbad57390bd1 29 const char *m2mbase_stub::resource_name;
ram54288 0:dbad57390bd1 30 const char *m2mbase_stub::resource_name_inst;
ram54288 0:dbad57390bd1 31 M2MBase::BaseType m2mbase_stub::base_type;
ram54288 0:dbad57390bd1 32 M2MBase::Operation m2mbase_stub::operation;
ram54288 0:dbad57390bd1 33 M2MBase::Mode m2mbase_stub::mode_value;
ram54288 0:dbad57390bd1 34 M2MBase::Observation m2mbase_stub::observation_level_value;
ram54288 0:dbad57390bd1 35
ram54288 0:dbad57390bd1 36 void *m2mbase_stub::void_value;
ram54288 0:dbad57390bd1 37 M2MObservationHandler *m2mbase_stub::observe;
ram54288 0:dbad57390bd1 38 M2MReportHandler *m2mbase_stub::report;
ram54288 0:dbad57390bd1 39 bool m2mbase_stub::is_value_updated_function_set;
ram54288 0:dbad57390bd1 40 uint8_t *m2mbase_stub::object_inst_token;
ram54288 0:dbad57390bd1 41 uint32_t m2mbase_stub::object_inst_token_len;
ram54288 0:dbad57390bd1 42 uint8_t *m2mbase_stub::object_token;
ram54288 0:dbad57390bd1 43 uint32_t m2mbase_stub::object_token_len;
ram54288 0:dbad57390bd1 44 uint8_t *m2mbase_stub::resource_token;
ram54288 0:dbad57390bd1 45 uint32_t m2mbase_stub::resource_token_len;
ram54288 0:dbad57390bd1 46 sn_nsdl_dynamic_resource_parameters_s *m2mbase_stub::nsdl_resource;
ram54288 0:dbad57390bd1 47 bool m2mbase_stub::find_resource;
ram54288 0:dbad57390bd1 48 int32_t m2mbase_stub::ret_counter;
ram54288 0:dbad57390bd1 49
ram54288 0:dbad57390bd1 50 void m2mbase_stub::clear()
ram54288 0:dbad57390bd1 51 {
ram54288 0:dbad57390bd1 52 int_value = 0;
ram54288 0:dbad57390bd1 53 uint8_value = 0;
ram54288 0:dbad57390bd1 54 uint16_value = 0;
ram54288 0:dbad57390bd1 55 uint32_value = 0;
ram54288 0:dbad57390bd1 56 string_value = NULL;
ram54288 0:dbad57390bd1 57 object_instance_name = NULL;
ram54288 0:dbad57390bd1 58 resource_name = NULL;
ram54288 0:dbad57390bd1 59 resource_name_inst = NULL;
ram54288 0:dbad57390bd1 60 name_id_value = -1;
ram54288 0:dbad57390bd1 61 mode_value = M2MBase::Static;
ram54288 0:dbad57390bd1 62 base_type = M2MBase::Object;
ram54288 0:dbad57390bd1 63 observation_level_value = M2MBase::None;
ram54288 0:dbad57390bd1 64 bool_value = false;
ram54288 0:dbad57390bd1 65 m2mbase_stub::operation = M2MBase::NOT_ALLOWED;
ram54288 0:dbad57390bd1 66 void_value = NULL;
ram54288 0:dbad57390bd1 67 observe = NULL;
ram54288 0:dbad57390bd1 68 report = NULL;
ram54288 0:dbad57390bd1 69 is_value_updated_function_set = false;
ram54288 0:dbad57390bd1 70 object_token = NULL;
ram54288 0:dbad57390bd1 71 object_token_len = 0;
ram54288 0:dbad57390bd1 72 resource_token = NULL;
ram54288 0:dbad57390bd1 73 resource_token_len = 0;
ram54288 0:dbad57390bd1 74 object_inst_token = NULL;
ram54288 0:dbad57390bd1 75 object_inst_token_len = 0;
ram54288 0:dbad57390bd1 76 find_resource = false;
ram54288 0:dbad57390bd1 77 ret_counter = 0;
ram54288 0:dbad57390bd1 78 }
ram54288 0:dbad57390bd1 79
ram54288 0:dbad57390bd1 80 M2MBase::M2MBase(const String& resource_name,
ram54288 0:dbad57390bd1 81 M2MBase::Mode mode,
ram54288 0:dbad57390bd1 82 const String &resource_type,
ram54288 0:dbad57390bd1 83 char *path,
ram54288 0:dbad57390bd1 84 bool external_blockwise_store)
ram54288 0:dbad57390bd1 85 :
ram54288 0:dbad57390bd1 86 _sn_resource(NULL),
ram54288 0:dbad57390bd1 87 _report_handler(NULL),
ram54288 0:dbad57390bd1 88 _observation_handler(NULL),
ram54288 0:dbad57390bd1 89 _token(NULL),
ram54288 0:dbad57390bd1 90 _function_pointer(NULL),
ram54288 0:dbad57390bd1 91 _observation_number(0),
ram54288 0:dbad57390bd1 92 _token_length(0),
ram54288 0:dbad57390bd1 93 _observation_level(M2MBase::None),
ram54288 0:dbad57390bd1 94 _is_under_observation(false)
ram54288 0:dbad57390bd1 95 {
ram54288 0:dbad57390bd1 96
ram54288 0:dbad57390bd1 97 }
ram54288 0:dbad57390bd1 98
ram54288 0:dbad57390bd1 99 M2MBase::M2MBase(const lwm2m_parameters_s *s):
ram54288 0:dbad57390bd1 100 _sn_resource((lwm2m_parameters_s*) s),
ram54288 0:dbad57390bd1 101 _report_handler(NULL),
ram54288 0:dbad57390bd1 102 _observation_handler(NULL),
ram54288 0:dbad57390bd1 103 _token(NULL),
ram54288 0:dbad57390bd1 104 _function_pointer(NULL),
ram54288 0:dbad57390bd1 105 _observation_number(0),
ram54288 0:dbad57390bd1 106 _token_length(0),
ram54288 0:dbad57390bd1 107 _observation_level(M2MBase::None),
ram54288 0:dbad57390bd1 108 _is_under_observation(false)
ram54288 0:dbad57390bd1 109 {
ram54288 0:dbad57390bd1 110 }
ram54288 0:dbad57390bd1 111
ram54288 0:dbad57390bd1 112 M2MBase::~M2MBase()
ram54288 0:dbad57390bd1 113 {
ram54288 0:dbad57390bd1 114 }
ram54288 0:dbad57390bd1 115
ram54288 0:dbad57390bd1 116 void M2MBase::set_operation(M2MBase::Operation opr)
ram54288 0:dbad57390bd1 117 {
ram54288 0:dbad57390bd1 118 m2mbase_stub::operation = opr;
ram54288 0:dbad57390bd1 119 }
ram54288 0:dbad57390bd1 120
ram54288 0:dbad57390bd1 121 void M2MBase::set_interface_description(const String &/*desc*/)
ram54288 0:dbad57390bd1 122 {
ram54288 0:dbad57390bd1 123 }
ram54288 0:dbad57390bd1 124
ram54288 0:dbad57390bd1 125 void M2MBase::set_resource_type(const String &/*res_type*/)
ram54288 0:dbad57390bd1 126 {
ram54288 0:dbad57390bd1 127 }
ram54288 0:dbad57390bd1 128
ram54288 0:dbad57390bd1 129 void M2MBase::set_interface_description(const char */*desc*/)
ram54288 0:dbad57390bd1 130 {
ram54288 0:dbad57390bd1 131 }
ram54288 0:dbad57390bd1 132
ram54288 0:dbad57390bd1 133 void M2MBase::set_resource_type(const char */*res_type*/)
ram54288 0:dbad57390bd1 134 {
ram54288 0:dbad57390bd1 135 }
ram54288 0:dbad57390bd1 136
ram54288 0:dbad57390bd1 137 void M2MBase::set_coap_content_type(const uint8_t /*con_type*/)
ram54288 0:dbad57390bd1 138 {
ram54288 0:dbad57390bd1 139 }
ram54288 0:dbad57390bd1 140
ram54288 0:dbad57390bd1 141 void M2MBase::set_instance_id(const uint16_t /*inst_id*/)
ram54288 0:dbad57390bd1 142 {
ram54288 0:dbad57390bd1 143 }
ram54288 0:dbad57390bd1 144
ram54288 0:dbad57390bd1 145 void M2MBase::set_observation_number(const uint16_t /*observation_number*/)
ram54288 0:dbad57390bd1 146 {
ram54288 0:dbad57390bd1 147 }
ram54288 0:dbad57390bd1 148
ram54288 0:dbad57390bd1 149 void M2MBase::set_max_age(const uint32_t /*max_age*/)
ram54288 0:dbad57390bd1 150 {
ram54288 0:dbad57390bd1 151 }
ram54288 0:dbad57390bd1 152
ram54288 0:dbad57390bd1 153 M2MBase::Operation M2MBase::operation() const
ram54288 0:dbad57390bd1 154 {
ram54288 0:dbad57390bd1 155 return m2mbase_stub::operation;
ram54288 0:dbad57390bd1 156 }
ram54288 0:dbad57390bd1 157
ram54288 0:dbad57390bd1 158 const char* M2MBase::name() const
ram54288 0:dbad57390bd1 159 {
ram54288 0:dbad57390bd1 160 return m2mbase_stub::string_value;
ram54288 0:dbad57390bd1 161 }
ram54288 0:dbad57390bd1 162
ram54288 0:dbad57390bd1 163 int32_t M2MBase::name_id() const
ram54288 0:dbad57390bd1 164 {
ram54288 0:dbad57390bd1 165 return m2mbase_stub::name_id_value;
ram54288 0:dbad57390bd1 166 }
ram54288 0:dbad57390bd1 167
ram54288 0:dbad57390bd1 168 uint16_t M2MBase::instance_id() const
ram54288 0:dbad57390bd1 169 {
ram54288 0:dbad57390bd1 170 return m2mbase_stub::int_value;
ram54288 0:dbad57390bd1 171 }
ram54288 0:dbad57390bd1 172
ram54288 0:dbad57390bd1 173 const char* M2MBase::interface_description() const
ram54288 0:dbad57390bd1 174 {
ram54288 0:dbad57390bd1 175 return m2mbase_stub::string_value;
ram54288 0:dbad57390bd1 176 }
ram54288 0:dbad57390bd1 177
ram54288 0:dbad57390bd1 178 const char* M2MBase::resource_type() const
ram54288 0:dbad57390bd1 179 {
ram54288 0:dbad57390bd1 180 return m2mbase_stub::string_value;
ram54288 0:dbad57390bd1 181 }
ram54288 0:dbad57390bd1 182
ram54288 0:dbad57390bd1 183 uint8_t M2MBase::coap_content_type() const
ram54288 0:dbad57390bd1 184 {
ram54288 0:dbad57390bd1 185 return m2mbase_stub::uint8_value;
ram54288 0:dbad57390bd1 186 }
ram54288 0:dbad57390bd1 187
ram54288 0:dbad57390bd1 188 uint32_t M2MBase::max_age() const
ram54288 0:dbad57390bd1 189 {
ram54288 0:dbad57390bd1 190 return m2mbase_stub::uint32_value;
ram54288 0:dbad57390bd1 191 }
ram54288 0:dbad57390bd1 192
ram54288 0:dbad57390bd1 193 void M2MBase::set_observable(bool /*observable*/)
ram54288 0:dbad57390bd1 194 {
ram54288 0:dbad57390bd1 195 }
ram54288 0:dbad57390bd1 196
ram54288 0:dbad57390bd1 197 void M2MBase::add_observation_level(M2MBase::Observation)
ram54288 0:dbad57390bd1 198 {
ram54288 0:dbad57390bd1 199 }
ram54288 0:dbad57390bd1 200
ram54288 0:dbad57390bd1 201 void M2MBase::remove_observation_level(M2MBase::Observation)
ram54288 0:dbad57390bd1 202 {
ram54288 0:dbad57390bd1 203 }
ram54288 0:dbad57390bd1 204
ram54288 0:dbad57390bd1 205 void M2MBase::set_under_observation(bool /*observed*/,
ram54288 0:dbad57390bd1 206 M2MObservationHandler */*handler*/)
ram54288 0:dbad57390bd1 207 {
ram54288 0:dbad57390bd1 208 }
ram54288 0:dbad57390bd1 209
ram54288 0:dbad57390bd1 210 void M2MBase::set_observation_token(const uint8_t */*token*/,
ram54288 0:dbad57390bd1 211 const uint8_t /*length*/)
ram54288 0:dbad57390bd1 212 {
ram54288 0:dbad57390bd1 213 }
ram54288 0:dbad57390bd1 214
ram54288 0:dbad57390bd1 215 bool M2MBase::is_observable() const
ram54288 0:dbad57390bd1 216 {
ram54288 0:dbad57390bd1 217 return m2mbase_stub::bool_value;
ram54288 0:dbad57390bd1 218 }
ram54288 0:dbad57390bd1 219
ram54288 0:dbad57390bd1 220 M2MBase::Observation M2MBase::observation_level() const
ram54288 0:dbad57390bd1 221 {
ram54288 0:dbad57390bd1 222 return m2mbase_stub::observation_level_value;
ram54288 0:dbad57390bd1 223 }
ram54288 0:dbad57390bd1 224
ram54288 0:dbad57390bd1 225 void M2MBase::get_observation_token(uint8_t *&token,
ram54288 0:dbad57390bd1 226 uint32_t &length)
ram54288 0:dbad57390bd1 227 {
ram54288 0:dbad57390bd1 228 length = 0;
ram54288 0:dbad57390bd1 229 if(token) {
ram54288 0:dbad57390bd1 230 free(token);
ram54288 0:dbad57390bd1 231 token = NULL;
ram54288 0:dbad57390bd1 232 }
ram54288 0:dbad57390bd1 233
ram54288 0:dbad57390bd1 234 if (m2mbase_stub::find_resource) {
ram54288 0:dbad57390bd1 235 if (m2mbase_stub::ret_counter == 1) {
ram54288 0:dbad57390bd1 236 token = (uint8_t *)malloc(m2mbase_stub::object_inst_token_len);
ram54288 0:dbad57390bd1 237 if(token) {
ram54288 0:dbad57390bd1 238 length = m2mbase_stub::object_inst_token_len;
ram54288 0:dbad57390bd1 239 memcpy((uint8_t *)token, (uint8_t *)m2mbase_stub::object_inst_token, length);
ram54288 0:dbad57390bd1 240 }
ram54288 0:dbad57390bd1 241 } else if (m2mbase_stub::ret_counter == 2) {
ram54288 0:dbad57390bd1 242 token = (uint8_t *)malloc(m2mbase_stub::resource_token_len);
ram54288 0:dbad57390bd1 243 if(token) {
ram54288 0:dbad57390bd1 244 length = m2mbase_stub::resource_token_len;
ram54288 0:dbad57390bd1 245 memcpy((uint8_t *)token, (uint8_t *)m2mbase_stub::resource_token, length);
ram54288 0:dbad57390bd1 246 }
ram54288 0:dbad57390bd1 247 } else {
ram54288 0:dbad57390bd1 248 token = (uint8_t *)malloc(m2mbase_stub::object_token_len);
ram54288 0:dbad57390bd1 249 if(token) {
ram54288 0:dbad57390bd1 250 length = m2mbase_stub::object_token_len;
ram54288 0:dbad57390bd1 251 memcpy((uint8_t *)token, (uint8_t *)m2mbase_stub::object_token, length);
ram54288 0:dbad57390bd1 252 }
ram54288 0:dbad57390bd1 253 }
ram54288 0:dbad57390bd1 254 m2mbase_stub::ret_counter++;
ram54288 0:dbad57390bd1 255 } else {
ram54288 0:dbad57390bd1 256 token = (uint8_t *)malloc(m2mbase_stub::object_token_len);
ram54288 0:dbad57390bd1 257 if(token) {
ram54288 0:dbad57390bd1 258 length = m2mbase_stub::object_token_len;
ram54288 0:dbad57390bd1 259 memcpy((uint8_t *)token, (uint8_t *)m2mbase_stub::object_token, length);
ram54288 0:dbad57390bd1 260 }
ram54288 0:dbad57390bd1 261 }
ram54288 0:dbad57390bd1 262 }
ram54288 0:dbad57390bd1 263
ram54288 0:dbad57390bd1 264 void M2MBase::set_base_type(M2MBase::BaseType /*type*/)
ram54288 0:dbad57390bd1 265 {
ram54288 0:dbad57390bd1 266 }
ram54288 0:dbad57390bd1 267
ram54288 0:dbad57390bd1 268 M2MBase::BaseType M2MBase::base_type() const
ram54288 0:dbad57390bd1 269 {
ram54288 0:dbad57390bd1 270 return m2mbase_stub::base_type;
ram54288 0:dbad57390bd1 271 }
ram54288 0:dbad57390bd1 272
ram54288 0:dbad57390bd1 273 M2MBase::Mode M2MBase::mode() const
ram54288 0:dbad57390bd1 274 {
ram54288 0:dbad57390bd1 275 return m2mbase_stub::mode_value;
ram54288 0:dbad57390bd1 276 }
ram54288 0:dbad57390bd1 277
ram54288 0:dbad57390bd1 278 uint16_t M2MBase::observation_number() const
ram54288 0:dbad57390bd1 279 {
ram54288 0:dbad57390bd1 280 return m2mbase_stub::uint16_value;
ram54288 0:dbad57390bd1 281 }
ram54288 0:dbad57390bd1 282
ram54288 0:dbad57390bd1 283 bool M2MBase::handle_observation_attribute(const char *query)
ram54288 0:dbad57390bd1 284 {
ram54288 0:dbad57390bd1 285 return m2mbase_stub::bool_value;
ram54288 0:dbad57390bd1 286 }
ram54288 0:dbad57390bd1 287
ram54288 0:dbad57390bd1 288 void M2MBase::observation_to_be_sent(m2m::Vector<uint16_t>, bool)
ram54288 0:dbad57390bd1 289 {
ram54288 0:dbad57390bd1 290 }
ram54288 0:dbad57390bd1 291
ram54288 0:dbad57390bd1 292 void *M2MBase::memory_alloc(uint32_t size)
ram54288 0:dbad57390bd1 293 {
ram54288 0:dbad57390bd1 294 if(size)
ram54288 0:dbad57390bd1 295 return malloc(size);
ram54288 0:dbad57390bd1 296 else
ram54288 0:dbad57390bd1 297 return 0;
ram54288 0:dbad57390bd1 298 }
ram54288 0:dbad57390bd1 299
ram54288 0:dbad57390bd1 300 void M2MBase::memory_free(void *ptr)
ram54288 0:dbad57390bd1 301 {
ram54288 0:dbad57390bd1 302 if(ptr)
ram54288 0:dbad57390bd1 303 free(ptr);
ram54288 0:dbad57390bd1 304 }
ram54288 0:dbad57390bd1 305
ram54288 0:dbad57390bd1 306 uint8_t* M2MBase::alloc_string_copy(const uint8_t* source, uint32_t size)
ram54288 0:dbad57390bd1 307 {
ram54288 0:dbad57390bd1 308 assert(source != NULL);
ram54288 0:dbad57390bd1 309
ram54288 0:dbad57390bd1 310 uint8_t* result = (uint8_t*)memory_alloc(size + 1);
ram54288 0:dbad57390bd1 311 if (result) {
ram54288 0:dbad57390bd1 312 memcpy(result, source, size);
ram54288 0:dbad57390bd1 313 result[size] = '\0';
ram54288 0:dbad57390bd1 314 }
ram54288 0:dbad57390bd1 315 return result;
ram54288 0:dbad57390bd1 316 }
ram54288 0:dbad57390bd1 317
ram54288 0:dbad57390bd1 318 uint8_t* M2MBase::alloc_copy(const uint8_t* source, uint32_t size)
ram54288 0:dbad57390bd1 319 {
ram54288 0:dbad57390bd1 320 assert(source != NULL);
ram54288 0:dbad57390bd1 321
ram54288 0:dbad57390bd1 322 uint8_t* result = (uint8_t*)memory_alloc(size);
ram54288 0:dbad57390bd1 323 if (result) {
ram54288 0:dbad57390bd1 324 memcpy(result, source, size);
ram54288 0:dbad57390bd1 325 }
ram54288 0:dbad57390bd1 326 return result;
ram54288 0:dbad57390bd1 327 }
ram54288 0:dbad57390bd1 328
ram54288 0:dbad57390bd1 329 M2MReportHandler* M2MBase::report_handler()
ram54288 0:dbad57390bd1 330 {
ram54288 0:dbad57390bd1 331 return m2mbase_stub::report;
ram54288 0:dbad57390bd1 332 }
ram54288 0:dbad57390bd1 333
ram54288 0:dbad57390bd1 334 M2MObservationHandler* M2MBase::observation_handler()
ram54288 0:dbad57390bd1 335 {
ram54288 0:dbad57390bd1 336 return m2mbase_stub::observe;
ram54288 0:dbad57390bd1 337 }
ram54288 0:dbad57390bd1 338
ram54288 0:dbad57390bd1 339 sn_coap_hdr_s* M2MBase::handle_get_request(nsdl_s */*nsdl*/,
ram54288 0:dbad57390bd1 340 sn_coap_hdr_s */*received_coap_header*/,
ram54288 0:dbad57390bd1 341 M2MObservationHandler */*observation_handler*/)
ram54288 0:dbad57390bd1 342 {
ram54288 0:dbad57390bd1 343 //Handled in M2MResource, M2MObjectInstance and M2MObject classes
ram54288 0:dbad57390bd1 344 return NULL;
ram54288 0:dbad57390bd1 345 }
ram54288 0:dbad57390bd1 346
ram54288 0:dbad57390bd1 347 sn_coap_hdr_s* M2MBase::handle_put_request(nsdl_s */*nsdl*/,
ram54288 0:dbad57390bd1 348 sn_coap_hdr_s */*received_coap_header*/,
ram54288 0:dbad57390bd1 349 M2MObservationHandler */*observation_handler*/,
ram54288 0:dbad57390bd1 350 bool &execute_value_updated)
ram54288 0:dbad57390bd1 351 {
ram54288 0:dbad57390bd1 352 //Handled in M2MResource, M2MObjectInstance and M2MObject classes
ram54288 0:dbad57390bd1 353 return NULL;
ram54288 0:dbad57390bd1 354 }
ram54288 0:dbad57390bd1 355
ram54288 0:dbad57390bd1 356 sn_coap_hdr_s* M2MBase::handle_post_request(nsdl_s */*nsdl*/,
ram54288 0:dbad57390bd1 357 sn_coap_hdr_s */*received_coap_header*/,
ram54288 0:dbad57390bd1 358 M2MObservationHandler */*observation_handler*/,
ram54288 0:dbad57390bd1 359 bool &, sn_nsdl_addr_s *address)
ram54288 0:dbad57390bd1 360 {
ram54288 0:dbad57390bd1 361 //Handled in M2MResource, M2MObjectInstance and M2MObject classes
ram54288 0:dbad57390bd1 362 return NULL;
ram54288 0:dbad57390bd1 363 }
ram54288 0:dbad57390bd1 364
ram54288 0:dbad57390bd1 365 void M2MBase::set_register_uri( bool register_uri)
ram54288 0:dbad57390bd1 366 {
ram54288 0:dbad57390bd1 367 }
ram54288 0:dbad57390bd1 368
ram54288 0:dbad57390bd1 369 bool M2MBase::register_uri()
ram54288 0:dbad57390bd1 370 {
ram54288 0:dbad57390bd1 371 return m2mbase_stub::bool_value;
ram54288 0:dbad57390bd1 372 }
ram54288 0:dbad57390bd1 373
ram54288 0:dbad57390bd1 374 const char* M2MBase::uri_path() const
ram54288 0:dbad57390bd1 375 {
ram54288 0:dbad57390bd1 376 if (m2mbase_stub::find_resource) {
ram54288 0:dbad57390bd1 377 m2mbase_stub::ret_counter++;
ram54288 0:dbad57390bd1 378 if (m2mbase_stub::ret_counter == 2) {
ram54288 0:dbad57390bd1 379 return m2mbase_stub::object_instance_name;
ram54288 0:dbad57390bd1 380 } else if (m2mbase_stub::ret_counter == 3) {
ram54288 0:dbad57390bd1 381 return m2mbase_stub::resource_name;
ram54288 0:dbad57390bd1 382 } else if (m2mbase_stub::ret_counter == 4 || m2mbase_stub::ret_counter == 5) {
ram54288 0:dbad57390bd1 383 return m2mbase_stub::resource_name_inst;
ram54288 0:dbad57390bd1 384 } else {
ram54288 0:dbad57390bd1 385 return m2mbase_stub::string_value;
ram54288 0:dbad57390bd1 386 }
ram54288 0:dbad57390bd1 387 } else {
ram54288 0:dbad57390bd1 388 return m2mbase_stub::string_value;
ram54288 0:dbad57390bd1 389 }
ram54288 0:dbad57390bd1 390 }
ram54288 0:dbad57390bd1 391
ram54288 0:dbad57390bd1 392 bool M2MBase::is_under_observation() const
ram54288 0:dbad57390bd1 393 {
ram54288 0:dbad57390bd1 394 return m2mbase_stub::bool_value;
ram54288 0:dbad57390bd1 395 }
ram54288 0:dbad57390bd1 396
ram54288 0:dbad57390bd1 397 void M2MBase::set_value_updated_function(value_updated_callback callback)
ram54288 0:dbad57390bd1 398 {
ram54288 0:dbad57390bd1 399
ram54288 0:dbad57390bd1 400 }
ram54288 0:dbad57390bd1 401
ram54288 0:dbad57390bd1 402 void M2MBase::set_value_updated_function(value_updated_callback2 callback)
ram54288 0:dbad57390bd1 403 {
ram54288 0:dbad57390bd1 404
ram54288 0:dbad57390bd1 405 }
ram54288 0:dbad57390bd1 406
ram54288 0:dbad57390bd1 407 bool M2MBase::is_value_updated_function_set()
ram54288 0:dbad57390bd1 408 {
ram54288 0:dbad57390bd1 409 return m2mbase_stub::is_value_updated_function_set;
ram54288 0:dbad57390bd1 410 }
ram54288 0:dbad57390bd1 411
ram54288 0:dbad57390bd1 412 void M2MBase::execute_value_updated(const String& name)
ram54288 0:dbad57390bd1 413 {
ram54288 0:dbad57390bd1 414
ram54288 0:dbad57390bd1 415 }
ram54288 0:dbad57390bd1 416 bool M2MBase::build_path(StringBuffer<MAX_PATH_SIZE> &buffer, const char *s1, uint16_t i1, const char *s2, uint16_t i2)
ram54288 0:dbad57390bd1 417 {
ram54288 0:dbad57390bd1 418
ram54288 0:dbad57390bd1 419 if(!buffer.ensure_space(strlen(s1) + strlen(s2) + 10 + 3 + 1)){
ram54288 0:dbad57390bd1 420 return false;
ram54288 0:dbad57390bd1 421 }
ram54288 0:dbad57390bd1 422
ram54288 0:dbad57390bd1 423 buffer.append(s1);
ram54288 0:dbad57390bd1 424 buffer.append('/');
ram54288 0:dbad57390bd1 425 buffer.append_int(i1);
ram54288 0:dbad57390bd1 426 buffer.append('/');
ram54288 0:dbad57390bd1 427 buffer.append(s2);
ram54288 0:dbad57390bd1 428 buffer.append('/');
ram54288 0:dbad57390bd1 429 buffer.append_int(i2);
ram54288 0:dbad57390bd1 430
ram54288 0:dbad57390bd1 431 return true;
ram54288 0:dbad57390bd1 432
ram54288 0:dbad57390bd1 433 }
ram54288 0:dbad57390bd1 434
ram54288 0:dbad57390bd1 435 bool M2MBase::build_path(StringBuffer<MAX_PATH_SIZE_2> &buffer, const char *s1, uint16_t i1, const char *s2)
ram54288 0:dbad57390bd1 436 {
ram54288 0:dbad57390bd1 437
ram54288 0:dbad57390bd1 438 if(!buffer.ensure_space(strlen(s1) + strlen(s2) + 5 + 2 + 1)){
ram54288 0:dbad57390bd1 439 return false;
ram54288 0:dbad57390bd1 440 }
ram54288 0:dbad57390bd1 441
ram54288 0:dbad57390bd1 442 buffer.append(s1);
ram54288 0:dbad57390bd1 443 buffer.append('/');
ram54288 0:dbad57390bd1 444 buffer.append_int(i1);
ram54288 0:dbad57390bd1 445 buffer.append('/');
ram54288 0:dbad57390bd1 446 buffer.append(s2);
ram54288 0:dbad57390bd1 447
ram54288 0:dbad57390bd1 448 return true;
ram54288 0:dbad57390bd1 449
ram54288 0:dbad57390bd1 450 }
ram54288 0:dbad57390bd1 451
ram54288 0:dbad57390bd1 452 bool M2MBase::build_path(StringBuffer<MAX_PATH_SIZE_3> &buffer, const char *s1, uint16_t i1, uint16_t i2)
ram54288 0:dbad57390bd1 453 {
ram54288 0:dbad57390bd1 454
ram54288 0:dbad57390bd1 455 if(!buffer.ensure_space(strlen(s1) + 10 + 2 + 1)){
ram54288 0:dbad57390bd1 456 return false;
ram54288 0:dbad57390bd1 457 }
ram54288 0:dbad57390bd1 458
ram54288 0:dbad57390bd1 459 buffer.append(s1);
ram54288 0:dbad57390bd1 460 buffer.append('/');
ram54288 0:dbad57390bd1 461 buffer.append_int(i1);
ram54288 0:dbad57390bd1 462 buffer.append('/');
ram54288 0:dbad57390bd1 463 buffer.append_int(i2);
ram54288 0:dbad57390bd1 464
ram54288 0:dbad57390bd1 465 return true;
ram54288 0:dbad57390bd1 466
ram54288 0:dbad57390bd1 467 }
ram54288 0:dbad57390bd1 468
ram54288 0:dbad57390bd1 469 bool M2MBase::build_path(StringBuffer<MAX_PATH_SIZE_4> &buffer, const char *s1, uint16_t i1)
ram54288 0:dbad57390bd1 470 {
ram54288 0:dbad57390bd1 471
ram54288 0:dbad57390bd1 472 if(!buffer.ensure_space(strlen(s1) + 5 + 1 + 1)){
ram54288 0:dbad57390bd1 473 return false;
ram54288 0:dbad57390bd1 474 }
ram54288 0:dbad57390bd1 475
ram54288 0:dbad57390bd1 476 buffer.append(s1);
ram54288 0:dbad57390bd1 477 buffer.append('/');
ram54288 0:dbad57390bd1 478 buffer.append_int(i1);
ram54288 0:dbad57390bd1 479
ram54288 0:dbad57390bd1 480 return true;
ram54288 0:dbad57390bd1 481
ram54288 0:dbad57390bd1 482 }
ram54288 0:dbad57390bd1 483
ram54288 0:dbad57390bd1 484 sn_nsdl_dynamic_resource_parameters_s* M2MBase::get_nsdl_resource()
ram54288 0:dbad57390bd1 485 {
ram54288 0:dbad57390bd1 486 return m2mbase_stub::nsdl_resource;
ram54288 0:dbad57390bd1 487 }
ram54288 0:dbad57390bd1 488
ram54288 0:dbad57390bd1 489 char* M2MBase::stringdup(const char* src)
ram54288 0:dbad57390bd1 490 {
ram54288 0:dbad57390bd1 491
ram54288 0:dbad57390bd1 492 }
ram54288 0:dbad57390bd1 493
ram54288 0:dbad57390bd1 494 char* M2MBase::create_path(const M2MObject &parent, uint16_t object_instance)
ram54288 0:dbad57390bd1 495 {
ram54288 0:dbad57390bd1 496
ram54288 0:dbad57390bd1 497 }
ram54288 0:dbad57390bd1 498
ram54288 0:dbad57390bd1 499 char* M2MBase::create_path(const M2MObject &parent, const char *name)
ram54288 0:dbad57390bd1 500 {
ram54288 0:dbad57390bd1 501
ram54288 0:dbad57390bd1 502 }
ram54288 0:dbad57390bd1 503
ram54288 0:dbad57390bd1 504 char* M2MBase::create_path(const M2MResource &parent, uint16_t resource_instance)
ram54288 0:dbad57390bd1 505 {
ram54288 0:dbad57390bd1 506
ram54288 0:dbad57390bd1 507 }
ram54288 0:dbad57390bd1 508
ram54288 0:dbad57390bd1 509 char* M2MBase::create_path(const M2MResource &parent, const char *name)
ram54288 0:dbad57390bd1 510 {
ram54288 0:dbad57390bd1 511
ram54288 0:dbad57390bd1 512 }
ram54288 0:dbad57390bd1 513
ram54288 0:dbad57390bd1 514 char* M2MBase::create_path(const M2MObjectInstance &parent, const char *name)
ram54288 0:dbad57390bd1 515 {
ram54288 0:dbad57390bd1 516
ram54288 0:dbad57390bd1 517 }
ram54288 0:dbad57390bd1 518
ram54288 0:dbad57390bd1 519 void M2MBase::set_observation_handler(M2MObservationHandler *handler)
ram54288 0:dbad57390bd1 520 {
ram54288 0:dbad57390bd1 521
ram54288 0:dbad57390bd1 522 }
ram54288 0:dbad57390bd1 523
ram54288 0:dbad57390bd1 524 size_t M2MBase::resource_name_length() const
ram54288 0:dbad57390bd1 525 {
ram54288 0:dbad57390bd1 526
ram54288 0:dbad57390bd1 527 }
ram54288 0:dbad57390bd1 528
ram54288 0:dbad57390bd1 529 bool M2MBase::validate_string_length(const String &string, size_t min_length, size_t max_length)
ram54288 0:dbad57390bd1 530 {
ram54288 0:dbad57390bd1 531 return m2mbase_stub::bool_value;
ram54288 0:dbad57390bd1 532 }
ram54288 0:dbad57390bd1 533
ram54288 0:dbad57390bd1 534 bool M2MBase::validate_string_length(const char* string, size_t min_length, size_t max_length)
ram54288 0:dbad57390bd1 535 {
ram54288 0:dbad57390bd1 536 return m2mbase_stub::bool_value;
ram54288 0:dbad57390bd1 537 }
ram54288 0:dbad57390bd1 538
ram54288 0:dbad57390bd1 539 M2MReportHandler* M2MBase::create_report_handler()
ram54288 0:dbad57390bd1 540 {
ram54288 0:dbad57390bd1 541
ram54288 0:dbad57390bd1 542 }