A metronome using the FRDM K64F board

Committer:
ram54288
Date:
Sun May 14 18:40:18 2017 +0000
Revision:
0:a7a43371b306
Initial commit

Who changed what in which revision?

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