Doug Anson / mbedConnectorInterfaceV3
Committer:
ansond
Date:
Sun Jun 12 03:18:25 2016 +0000
Revision:
26:d7b009313e3b
Parent:
25:492acd2b0398
updates

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ansond 13:9edad7677211 1 /**
ansond 13:9edad7677211 2 * @file DeviceIntegerResource.h
ansond 13:9edad7677211 3 * @brief mbed CoAP Endpoint Device Integer Resource
ansond 13:9edad7677211 4 * @author Doug Anson
ansond 13:9edad7677211 5 * @version 1.0
ansond 13:9edad7677211 6 * @see
ansond 13:9edad7677211 7 *
ansond 13:9edad7677211 8 * Copyright (c) 2014
ansond 13:9edad7677211 9 *
ansond 13:9edad7677211 10 * Licensed under the Apache License, Version 2.0 (the "License");
ansond 13:9edad7677211 11 * you may not use this file except in compliance with the License.
ansond 13:9edad7677211 12 * You may obtain a copy of the License at
ansond 13:9edad7677211 13 *
ansond 13:9edad7677211 14 * http://www.apache.org/licenses/LICENSE-2.0
ansond 13:9edad7677211 15 *
ansond 13:9edad7677211 16 * Unless required by applicable law or agreed to in writing, software
ansond 13:9edad7677211 17 * distributed under the License is distributed on an "AS IS" BASIS,
ansond 13:9edad7677211 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ansond 13:9edad7677211 19 * See the License for the specific language governing permissions and
ansond 13:9edad7677211 20 * limitations under the License.
ansond 13:9edad7677211 21 */
ansond 13:9edad7677211 22
ansond 13:9edad7677211 23 #ifndef __DEVICE_INTEGER_RESOURCE_H__
ansond 13:9edad7677211 24 #define __DEVICE_INTEGER_RESOURCE_H__
ansond 13:9edad7677211 25
ansond 13:9edad7677211 26 // Base class
ansond 13:9edad7677211 27 #include "mbed-connector-interface/DynamicResource.h"
ansond 13:9edad7677211 28
ansond 13:9edad7677211 29 // Device Management Responder
ansond 13:9edad7677211 30 #include "mbed-connector-interface/DeviceManagementResponder.h"
ansond 13:9edad7677211 31
ansond 13:9edad7677211 32 /** DeviceIntegerResource class
ansond 13:9edad7677211 33 */
ansond 13:9edad7677211 34 class DeviceIntegerResource : public DynamicResource
ansond 13:9edad7677211 35 {
ansond 13:9edad7677211 36 public:
ansond 13:9edad7677211 37 /**
ansond 13:9edad7677211 38 Default constructor
ansond 13:9edad7677211 39 @param logger input logger instance for this resource
ansond 13:9edad7677211 40 @param obj_name input the Integer Object ID
ansond 13:9edad7677211 41 @param res_name input the Integer Resource ID
ansond 13:9edad7677211 42 @param res_type input the Integer Resource Type
ansond 13:9edad7677211 43 @param dm_responder input the DM responder instance
ansond 13:9edad7677211 44 @param observable input this Integer is observable
ansond 13:9edad7677211 45 */
ansond 13:9edad7677211 46 DeviceIntegerResource(const Logger *logger,const char *obj_name,const char *res_name,const char *res_type,const void *dm_responder,bool observable = false) :
ansond 13:9edad7677211 47 DynamicResource(logger,obj_name,res_name,res_type,M2MBase::GET_PUT_ALLOWED,observable)
ansond 13:9edad7677211 48 {
ansond 13:9edad7677211 49 this->m_dm_responder = (DeviceManagementResponder *)dm_responder;
ansond 25:492acd2b0398 50 this->m_implements_observation = true; // PUT() sends observation...
ansond 13:9edad7677211 51 }
ansond 13:9edad7677211 52
ansond 13:9edad7677211 53 /**
ansond 13:9edad7677211 54 GET handler
ansond 13:9edad7677211 55 @returns string with this resource type
ansond 13:9edad7677211 56 */
ansond 13:9edad7677211 57 virtual string get() {
ansond 13:9edad7677211 58 char buf[10];
ansond 13:9edad7677211 59 memset(buf,0,10);
ansond 13:9edad7677211 60 sprintf(buf,"%d",this->m_value);
ansond 13:9edad7677211 61 return string(buf);
ansond 13:9edad7677211 62 }
ansond 13:9edad7677211 63
ansond 13:9edad7677211 64 /**
ansond 13:9edad7677211 65 PUT handler
ansond 13:9edad7677211 66 @param value input input value
ansond 13:9edad7677211 67 */
ansond 13:9edad7677211 68 virtual void put(string value) {
ansond 13:9edad7677211 69 sscanf(value.c_str(),"%d",&this->m_value);
ansond 15:c11dbe4d354c 70 this->observe();
ansond 13:9edad7677211 71 }
ansond 13:9edad7677211 72
ansond 13:9edad7677211 73 protected:
ansond 13:9edad7677211 74 DeviceManagementResponder *m_dm_responder;
ansond 13:9edad7677211 75
ansond 13:9edad7677211 76 private:
ansond 13:9edad7677211 77 int m_value;
ansond 13:9edad7677211 78 };
ansond 13:9edad7677211 79
ansond 13:9edad7677211 80 #endif // __DEVICE_INTEGER_RESOURCE_H__