This is the sample program that can see the decode result of barcode data on Watson IoT.
Dependencies: AsciiFont DisplayApp GR-PEACH_video LCD_shield_config LWIPBP3595Interface_STA_for_mbed-os USBDevice
mbedConnectorInterface/source/DataWrapper.cpp@1:67f8b5cfde75, 2016-11-10 (annotated)
- 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?
User | Revision | Line number | New contents of line |
---|---|---|---|
Osamu Nakamura |
0:7d720671e6dc | 1 | /** |
Osamu Nakamura |
0:7d720671e6dc | 2 | * @file DataWrapper.cpp |
Osamu Nakamura |
0:7d720671e6dc | 3 | * @brief mbed CoAP Endpoint Resource Data Wrapper |
Osamu Nakamura |
0:7d720671e6dc | 4 | * @author Doug Anson |
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 | // Class Support |
Osamu Nakamura |
0:7d720671e6dc | 24 | #include "mbed-connector-interface/DataWrapper.h" |
Osamu Nakamura |
0:7d720671e6dc | 25 | |
Osamu Nakamura |
0:7d720671e6dc | 26 | // constructor |
Osamu Nakamura |
0:7d720671e6dc | 27 | DataWrapper::DataWrapper(uint8_t *data,int data_length) { |
Osamu Nakamura |
0:7d720671e6dc | 28 | this->m_data = data; |
Osamu Nakamura |
0:7d720671e6dc | 29 | this->m_data_length = 0; |
Osamu Nakamura |
0:7d720671e6dc | 30 | this->m_data_length_max = data_length; |
Osamu Nakamura |
0:7d720671e6dc | 31 | this->m_alloced = false; |
Osamu Nakamura |
0:7d720671e6dc | 32 | this->reset(); |
Osamu Nakamura |
0:7d720671e6dc | 33 | } |
Osamu Nakamura |
0:7d720671e6dc | 34 | |
Osamu Nakamura |
0:7d720671e6dc | 35 | // constructor (alloc) |
Osamu Nakamura |
0:7d720671e6dc | 36 | DataWrapper::DataWrapper(int data_length) { |
Osamu Nakamura |
0:7d720671e6dc | 37 | this->m_data = (uint8_t *)malloc(data_length+1); |
Osamu Nakamura |
0:7d720671e6dc | 38 | memset(this->m_data,0,data_length+1); |
Osamu Nakamura |
0:7d720671e6dc | 39 | this->m_data_length = 0; |
Osamu Nakamura |
0:7d720671e6dc | 40 | this->m_data_length_max = data_length; |
Osamu Nakamura |
0:7d720671e6dc | 41 | this->m_alloced = true; |
Osamu Nakamura |
0:7d720671e6dc | 42 | } |
Osamu Nakamura |
0:7d720671e6dc | 43 | |
Osamu Nakamura |
0:7d720671e6dc | 44 | // copy constructor |
Osamu Nakamura |
0:7d720671e6dc | 45 | DataWrapper::DataWrapper(const DataWrapper &data) { |
Osamu Nakamura |
0:7d720671e6dc | 46 | this->m_data = data.m_data; |
Osamu Nakamura |
0:7d720671e6dc | 47 | this->m_data_length = data.m_data_length; |
Osamu Nakamura |
0:7d720671e6dc | 48 | this->m_data_length_max = data.m_data_length_max; |
Osamu Nakamura |
0:7d720671e6dc | 49 | this->m_alloced = data.m_alloced; |
Osamu Nakamura |
0:7d720671e6dc | 50 | } |
Osamu Nakamura |
0:7d720671e6dc | 51 | |
Osamu Nakamura |
0:7d720671e6dc | 52 | // destructor |
Osamu Nakamura |
0:7d720671e6dc | 53 | DataWrapper::~DataWrapper() { |
Osamu Nakamura |
0:7d720671e6dc | 54 | if (this->m_alloced && this->m_data != NULL) free(this->m_data); |
Osamu Nakamura |
0:7d720671e6dc | 55 | } |
Osamu Nakamura |
0:7d720671e6dc | 56 | |
Osamu Nakamura |
0:7d720671e6dc | 57 | // wrap |
Osamu Nakamura |
0:7d720671e6dc | 58 | void DataWrapper::wrap(uint8_t *data,int data_length) { |
Osamu Nakamura |
0:7d720671e6dc | 59 | this->reset(); |
Osamu Nakamura |
0:7d720671e6dc | 60 | if (data != NULL && data_length > 0) { |
Osamu Nakamura |
0:7d720671e6dc | 61 | int length = data_length; |
Osamu Nakamura |
0:7d720671e6dc | 62 | if (length > this->m_data_length_max) length = this->m_data_length_max; |
Osamu Nakamura |
0:7d720671e6dc | 63 | memcpy(this->m_data,data,length); |
Osamu Nakamura |
0:7d720671e6dc | 64 | this->m_data_length = length; |
Osamu Nakamura |
0:7d720671e6dc | 65 | } |
Osamu Nakamura |
0:7d720671e6dc | 66 | } |
Osamu Nakamura |
0:7d720671e6dc | 67 | |
Osamu Nakamura |
0:7d720671e6dc | 68 | // unwrap |
Osamu Nakamura |
0:7d720671e6dc | 69 | void DataWrapper::unwrap(uint8_t *data,int data_length) { |
Osamu Nakamura |
0:7d720671e6dc | 70 | this->reset(); |
Osamu Nakamura |
0:7d720671e6dc | 71 | if (data != NULL && data_length > 0) { |
Osamu Nakamura |
0:7d720671e6dc | 72 | int length = data_length; |
Osamu Nakamura |
0:7d720671e6dc | 73 | if (length > this->m_data_length_max) length = this->m_data_length_max; |
Osamu Nakamura |
0:7d720671e6dc | 74 | memcpy(this->m_data,data,length); |
Osamu Nakamura |
0:7d720671e6dc | 75 | this->m_data_length = length; |
Osamu Nakamura |
0:7d720671e6dc | 76 | } |
Osamu Nakamura |
0:7d720671e6dc | 77 | } |
Osamu Nakamura |
0:7d720671e6dc | 78 | |
Osamu Nakamura |
0:7d720671e6dc | 79 | // reset |
Osamu Nakamura |
0:7d720671e6dc | 80 | void DataWrapper::reset() { |
Osamu Nakamura |
0:7d720671e6dc | 81 | if (this->m_data != NULL && this->m_data_length_max > 0) |
Osamu Nakamura |
0:7d720671e6dc | 82 | memset(this->m_data,0,this->m_data_length_max); |
Osamu Nakamura |
0:7d720671e6dc | 83 | this->m_data_length = 0; |
Osamu Nakamura |
0:7d720671e6dc | 84 | } |
Osamu Nakamura |
0:7d720671e6dc | 85 | |
Osamu Nakamura |
0:7d720671e6dc | 86 | // set the app key |
Osamu Nakamura |
0:7d720671e6dc | 87 | void DataWrapper::setAppKey(uint8_t * /* appkey */,int /* appkey_length */) { |
Osamu Nakamura |
0:7d720671e6dc | 88 | // do nothing in the base class |
Osamu Nakamura |
0:7d720671e6dc | 89 | ; |
Osamu Nakamura |
0:7d720671e6dc | 90 | } |
Osamu Nakamura |
0:7d720671e6dc | 91 | |
Osamu Nakamura |
0:7d720671e6dc | 92 |