Osamu Nakamura / Mbed OS mbed-os_Watson-IoT_ZXing_sample

Dependencies:   AsciiFont DisplayApp GR-PEACH_video LCD_shield_config LWIPBP3595Interface_STA_for_mbed-os USBDevice

Committer:
Osamu Nakamura
Date:
Thu Nov 10 20:23:55 2016 +0900
Revision:
1:67f8b5cfde75
Parent:
0:7d720671e6dc
Revised the initial value of /888/0/7700

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Osamu Nakamura 0:7d720671e6dc 1 /**
Osamu Nakamura 0:7d720671e6dc 2 * @file StaticResource.h
Osamu Nakamura 0:7d720671e6dc 3 * @brief mbed CoAP Endpoint Static Resource class
Osamu Nakamura 0:7d720671e6dc 4 * @author Doug Anson/Chris Paola
Osamu Nakamura 0:7d720671e6dc 5 * @version 1.0
Osamu Nakamura 0:7d720671e6dc 6 * @see
Osamu Nakamura 0:7d720671e6dc 7 *
Osamu Nakamura 0:7d720671e6dc 8 * Copyright (c) 2014
Osamu Nakamura 0:7d720671e6dc 9 *
Osamu Nakamura 0:7d720671e6dc 10 * Licensed under the Apache License, Version 2.0 (the "License");
Osamu Nakamura 0:7d720671e6dc 11 * you may not use this file except in compliance with the License.
Osamu Nakamura 0:7d720671e6dc 12 * You may obtain a copy of the License at
Osamu Nakamura 0:7d720671e6dc 13 *
Osamu Nakamura 0:7d720671e6dc 14 * http://www.apache.org/licenses/LICENSE-2.0
Osamu Nakamura 0:7d720671e6dc 15 *
Osamu Nakamura 0:7d720671e6dc 16 * Unless required by applicable law or agreed to in writing, software
Osamu Nakamura 0:7d720671e6dc 17 * distributed under the License is distributed on an "AS IS" BASIS,
Osamu Nakamura 0:7d720671e6dc 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Osamu Nakamura 0:7d720671e6dc 19 * See the License for the specific language governing permissions and
Osamu Nakamura 0:7d720671e6dc 20 * limitations under the License.
Osamu Nakamura 0:7d720671e6dc 21 */
Osamu Nakamura 0:7d720671e6dc 22
Osamu Nakamura 0:7d720671e6dc 23 #ifndef __STATIC_RESOURCE_H__
Osamu Nakamura 0:7d720671e6dc 24 #define __STATIC_RESOURCE_H__
Osamu Nakamura 0:7d720671e6dc 25
Osamu Nakamura 0:7d720671e6dc 26 // Base Class
Osamu Nakamura 0:7d720671e6dc 27 #include "mbed-connector-interface/Resource.h"
Osamu Nakamura 0:7d720671e6dc 28
Osamu Nakamura 0:7d720671e6dc 29 // DataWrapper support
Osamu Nakamura 0:7d720671e6dc 30 #include "mbed-connector-interface/DataWrapper.h"
Osamu Nakamura 0:7d720671e6dc 31
Osamu Nakamura 0:7d720671e6dc 32 /** StaticResource is a static (GET only) resource with a value type pinned as a string type
Osamu Nakamura 0:7d720671e6dc 33 */
Osamu Nakamura 0:7d720671e6dc 34 class StaticResource : public Resource<string>
Osamu Nakamura 0:7d720671e6dc 35 {
Osamu Nakamura 0:7d720671e6dc 36 public:
Osamu Nakamura 0:7d720671e6dc 37 /**
Osamu Nakamura 0:7d720671e6dc 38 Default constructor
Osamu Nakamura 0:7d720671e6dc 39 @param logger input logger instance for this resource
Osamu Nakamura 0:7d720671e6dc 40 @param obj_name input the Object
Osamu Nakamura 0:7d720671e6dc 41 @param res_name input the Resource URI/Name
Osamu Nakamura 0:7d720671e6dc 42 @param value input the Resource value (a string)
Osamu Nakamura 0:7d720671e6dc 43 */
Osamu Nakamura 0:7d720671e6dc 44 StaticResource(const Logger *logger,const char *obj_name,const char *res_name,const char *value);
Osamu Nakamura 0:7d720671e6dc 45
Osamu Nakamura 0:7d720671e6dc 46 /**
Osamu Nakamura 0:7d720671e6dc 47 string value constructor
Osamu Nakamura 0:7d720671e6dc 48 @param logger input logger instance for this resource
Osamu Nakamura 0:7d720671e6dc 49 @param obj_name input the Object
Osamu Nakamura 0:7d720671e6dc 50 @param name input the Resource URI/Name
Osamu Nakamura 0:7d720671e6dc 51 @param value input the Resource value (a string)
Osamu Nakamura 0:7d720671e6dc 52 */
Osamu Nakamura 0:7d720671e6dc 53 StaticResource(const Logger *logger,const char *obj_name,const char *res_name,const string value);
Osamu Nakamura 0:7d720671e6dc 54
Osamu Nakamura 0:7d720671e6dc 55 /**
Osamu Nakamura 0:7d720671e6dc 56 constructor with buffer lengths
Osamu Nakamura 0:7d720671e6dc 57 @param logger input logger instance for this resource
Osamu Nakamura 0:7d720671e6dc 58 @param obj_name input the Object
Osamu Nakamura 0:7d720671e6dc 59 @param name input the Resource URI/Name
Osamu Nakamura 0:7d720671e6dc 60 #param name_length input the length of the Resource URI/Name
Osamu Nakamura 0:7d720671e6dc 61 @param value input the Resource value (or NULL)
Osamu Nakamura 0:7d720671e6dc 62 */
Osamu Nakamura 0:7d720671e6dc 63 StaticResource(const Logger *logger,const string obj_name,const string res_name,const string value);
Osamu Nakamura 0:7d720671e6dc 64
Osamu Nakamura 0:7d720671e6dc 65 /**
Osamu Nakamura 0:7d720671e6dc 66 Copy constructor
Osamu Nakamura 0:7d720671e6dc 67 @param resource input the StaticResource that is to be deep copied
Osamu Nakamura 0:7d720671e6dc 68 */
Osamu Nakamura 0:7d720671e6dc 69 StaticResource(const StaticResource &resource);
Osamu Nakamura 0:7d720671e6dc 70
Osamu Nakamura 0:7d720671e6dc 71 /**
Osamu Nakamura 0:7d720671e6dc 72 Destructor
Osamu Nakamura 0:7d720671e6dc 73 */
Osamu Nakamura 0:7d720671e6dc 74 virtual ~StaticResource();
Osamu Nakamura 0:7d720671e6dc 75
Osamu Nakamura 0:7d720671e6dc 76 /**
Osamu Nakamura 0:7d720671e6dc 77 Bind resource to endpoint
Osamu Nakamura 0:7d720671e6dc 78 @param ep input endpoint instance pointer
Osamu Nakamura 0:7d720671e6dc 79 */
Osamu Nakamura 0:7d720671e6dc 80 virtual void bind(void *ep);
Osamu Nakamura 0:7d720671e6dc 81
Osamu Nakamura 0:7d720671e6dc 82 /**
Osamu Nakamura 0:7d720671e6dc 83 Set the data wrapper
Osamu Nakamura 0:7d720671e6dc 84 @param data_wrapper input the data wrapper instance
Osamu Nakamura 0:7d720671e6dc 85 */
Osamu Nakamura 0:7d720671e6dc 86 void setDataWrapper(DataWrapper *data_wrapper) { this->m_data_wrapper = data_wrapper; }
Osamu Nakamura 0:7d720671e6dc 87
Osamu Nakamura 0:7d720671e6dc 88 protected:
Osamu Nakamura 0:7d720671e6dc 89 DataWrapper *getDataWrapper() { return this->m_data_wrapper; }
Osamu Nakamura 0:7d720671e6dc 90
Osamu Nakamura 0:7d720671e6dc 91 private:
Osamu Nakamura 0:7d720671e6dc 92 DataWrapper *m_data_wrapper;
Osamu Nakamura 0:7d720671e6dc 93 M2MResource *m_res;
Osamu Nakamura 0:7d720671e6dc 94 };
Osamu Nakamura 0:7d720671e6dc 95
Osamu Nakamura 0:7d720671e6dc 96 #endif // __STATIC_RESOURCE_H__
Osamu Nakamura 0:7d720671e6dc 97