Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
mbed-connector-interface/DeviceIntegerResource.h@26:d7b009313e3b, 2016-06-12 (annotated)
- Committer:
- ansond
- Date:
- Sun Jun 12 03:18:25 2016 +0000
- Revision:
- 26:d7b009313e3b
- Parent:
- 25:492acd2b0398
updates
Who changed what in which revision?
| User | Revision | Line number | New 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__ |