Donald Meyers / Mbed OS evan
Committer:
djmeyers
Date:
Sat Mar 18 22:37:16 2017 +0000
Revision:
0:06ee5f8a484a
Initial commit

Who changed what in which revision?

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