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

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 OptionsBuilder.cpp
Osamu Nakamura 0:7d720671e6dc 3 * @brief mbed CoAP OptionsBuilder class implementation
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 // Class support
Osamu Nakamura 0:7d720671e6dc 24 #include "mbed-connector-interface/OptionsBuilder.h"
Osamu Nakamura 0:7d720671e6dc 25
Osamu Nakamura 0:7d720671e6dc 26 // ResourceObserver support
Osamu Nakamura 0:7d720671e6dc 27 #include "mbed-connector-interface/ThreadedResourceObserver.h"
Osamu Nakamura 0:7d720671e6dc 28 #include "mbed-connector-interface/TickerResourceObserver.h"
Osamu Nakamura 0:7d720671e6dc 29 #include "mbed-connector-interface/MinarResourceObserver.h"
Osamu Nakamura 0:7d720671e6dc 30
Osamu Nakamura 0:7d720671e6dc 31 // Connector namespace
Osamu Nakamura 0:7d720671e6dc 32 namespace Connector {
Osamu Nakamura 0:7d720671e6dc 33
Osamu Nakamura 0:7d720671e6dc 34 // Constructor
Osamu Nakamura 0:7d720671e6dc 35 OptionsBuilder::OptionsBuilder()
Osamu Nakamura 0:7d720671e6dc 36 {
Osamu Nakamura 0:7d720671e6dc 37 this->m_endpoint = NULL;
Osamu Nakamura 0:7d720671e6dc 38 this->m_domain = DEFAULT_DOMAIN;
Osamu Nakamura 0:7d720671e6dc 39 this->m_endpoint_type = DEFAULT_ENDPOINT_TYPE;
Osamu Nakamura 0:7d720671e6dc 40 this->m_node_name = NODE_NAME;
Osamu Nakamura 0:7d720671e6dc 41 this->m_lifetime = REG_LIFETIME_SEC;
Osamu Nakamura 0:7d720671e6dc 42 this->m_connector_url = string(CONNECTOR_URL);
Osamu Nakamura 0:7d720671e6dc 43 this->m_server_cert = NULL;
Osamu Nakamura 0:7d720671e6dc 44 this->m_server_cert_length = 0;
Osamu Nakamura 0:7d720671e6dc 45 this->m_client_cert = NULL;
Osamu Nakamura 0:7d720671e6dc 46 this->m_client_cert_length = 0;
Osamu Nakamura 0:7d720671e6dc 47 this->m_client_key = NULL;
Osamu Nakamura 0:7d720671e6dc 48 this->m_client_key_length = 0;
Osamu Nakamura 0:7d720671e6dc 49 this->m_device_resources_object = NULL;
Osamu Nakamura 0:7d720671e6dc 50 this->m_firmware_resources_object = NULL;
Osamu Nakamura 0:7d720671e6dc 51 this->m_static_resources.clear();
Osamu Nakamura 0:7d720671e6dc 52 this->m_dynamic_resources.clear();
Osamu Nakamura 0:7d720671e6dc 53 this->m_resource_observers.clear();
Osamu Nakamura 0:7d720671e6dc 54 }
Osamu Nakamura 0:7d720671e6dc 55
Osamu Nakamura 0:7d720671e6dc 56 // Copy Constructor
Osamu Nakamura 0:7d720671e6dc 57 OptionsBuilder::OptionsBuilder(const OptionsBuilder &ob) : Options(ob)
Osamu Nakamura 0:7d720671e6dc 58 {
Osamu Nakamura 0:7d720671e6dc 59 this->m_endpoint = ob.m_endpoint;
Osamu Nakamura 0:7d720671e6dc 60 this->m_domain = ob.m_domain;
Osamu Nakamura 0:7d720671e6dc 61 this->m_endpoint_type = ob.m_endpoint_type;
Osamu Nakamura 0:7d720671e6dc 62 this->m_node_name = ob.m_node_name;
Osamu Nakamura 0:7d720671e6dc 63 this->m_lifetime = ob.m_lifetime;
Osamu Nakamura 0:7d720671e6dc 64 this->m_connector_url = ob.m_connector_url;
Osamu Nakamura 0:7d720671e6dc 65 this->m_server_cert = ob.m_server_cert;
Osamu Nakamura 0:7d720671e6dc 66 this->m_server_cert_length = ob.m_server_cert_length;
Osamu Nakamura 0:7d720671e6dc 67 this->m_client_cert = ob.m_client_cert;
Osamu Nakamura 0:7d720671e6dc 68 this->m_client_cert_length = ob.m_client_cert_length;
Osamu Nakamura 0:7d720671e6dc 69 this->m_client_key = ob.m_client_key;
Osamu Nakamura 0:7d720671e6dc 70 this->m_client_key_length= ob.m_client_key_length;
Osamu Nakamura 0:7d720671e6dc 71 this->m_device_resources_object = ob.m_device_resources_object;
Osamu Nakamura 0:7d720671e6dc 72 this->m_firmware_resources_object = ob.m_firmware_resources_object;
Osamu Nakamura 0:7d720671e6dc 73 this->m_static_resources = ob.m_static_resources;
Osamu Nakamura 0:7d720671e6dc 74 this->m_dynamic_resources = ob.m_dynamic_resources;
Osamu Nakamura 0:7d720671e6dc 75 this->m_resource_observers = ob.m_resource_observers;
Osamu Nakamura 0:7d720671e6dc 76 this->m_wifi_ssid = ob.m_wifi_ssid;
Osamu Nakamura 0:7d720671e6dc 77 this->m_wifi_auth_key = ob.m_wifi_auth_key;
Osamu Nakamura 0:7d720671e6dc 78 this->m_wifi_auth_type = ob.m_wifi_auth_type;
Osamu Nakamura 0:7d720671e6dc 79 this->m_coap_connection_type = ob.m_coap_connection_type;
Osamu Nakamura 0:7d720671e6dc 80 this->m_ip_address_type = ob.m_ip_address_type;
Osamu Nakamura 0:7d720671e6dc 81 this->m_enable_immediate_observation = ob.m_enable_immediate_observation;
Osamu Nakamura 0:7d720671e6dc 82 this->m_enable_get_obs_control = ob.m_enable_get_obs_control;
Osamu Nakamura 0:7d720671e6dc 83 this->m_endpoint = ob.m_endpoint;
Osamu Nakamura 0:7d720671e6dc 84 }
Osamu Nakamura 0:7d720671e6dc 85
Osamu Nakamura 0:7d720671e6dc 86 // Destructor
Osamu Nakamura 0:7d720671e6dc 87 OptionsBuilder::~OptionsBuilder()
Osamu Nakamura 0:7d720671e6dc 88 {
Osamu Nakamura 0:7d720671e6dc 89 this->m_device_resources_object = NULL;
Osamu Nakamura 0:7d720671e6dc 90 this->m_firmware_resources_object = NULL;
Osamu Nakamura 0:7d720671e6dc 91 this->m_static_resources.clear();
Osamu Nakamura 0:7d720671e6dc 92 this->m_dynamic_resources.clear();
Osamu Nakamura 0:7d720671e6dc 93 this->m_resource_observers.clear();
Osamu Nakamura 0:7d720671e6dc 94 }
Osamu Nakamura 0:7d720671e6dc 95
Osamu Nakamura 0:7d720671e6dc 96 // set lifetime
Osamu Nakamura 0:7d720671e6dc 97 OptionsBuilder &OptionsBuilder::setLifetime(int lifetime)
Osamu Nakamura 0:7d720671e6dc 98 {
Osamu Nakamura 0:7d720671e6dc 99 this->m_lifetime = lifetime;
Osamu Nakamura 0:7d720671e6dc 100 return *this;
Osamu Nakamura 0:7d720671e6dc 101 }
Osamu Nakamura 0:7d720671e6dc 102
Osamu Nakamura 0:7d720671e6dc 103 // set domain
Osamu Nakamura 0:7d720671e6dc 104 OptionsBuilder &OptionsBuilder::setDomain(const char *domain)
Osamu Nakamura 0:7d720671e6dc 105 {
Osamu Nakamura 0:7d720671e6dc 106 this->m_domain = string(domain);
Osamu Nakamura 0:7d720671e6dc 107 return *this;
Osamu Nakamura 0:7d720671e6dc 108 }
Osamu Nakamura 0:7d720671e6dc 109
Osamu Nakamura 0:7d720671e6dc 110 // set endpoint nodename
Osamu Nakamura 0:7d720671e6dc 111 OptionsBuilder &OptionsBuilder::setEndpointNodename(const char *node_name)
Osamu Nakamura 0:7d720671e6dc 112 {
Osamu Nakamura 0:7d720671e6dc 113 this->m_node_name = string(node_name);
Osamu Nakamura 0:7d720671e6dc 114 return *this;
Osamu Nakamura 0:7d720671e6dc 115 }
Osamu Nakamura 0:7d720671e6dc 116
Osamu Nakamura 0:7d720671e6dc 117 // set lifetime
Osamu Nakamura 0:7d720671e6dc 118 OptionsBuilder &OptionsBuilder::setEndpointType(const char *endpoint_type)
Osamu Nakamura 0:7d720671e6dc 119 {
Osamu Nakamura 0:7d720671e6dc 120 this->m_endpoint_type = string(endpoint_type);
Osamu Nakamura 0:7d720671e6dc 121 return *this;
Osamu Nakamura 0:7d720671e6dc 122 }
Osamu Nakamura 0:7d720671e6dc 123
Osamu Nakamura 0:7d720671e6dc 124 // set Connector URL
Osamu Nakamura 0:7d720671e6dc 125 OptionsBuilder &OptionsBuilder::setConnectorURL(const char *connector_url)
Osamu Nakamura 0:7d720671e6dc 126 {
Osamu Nakamura 0:7d720671e6dc 127 if (connector_url != NULL) {
Osamu Nakamura 0:7d720671e6dc 128 this->m_connector_url = string(connector_url);
Osamu Nakamura 0:7d720671e6dc 129 }
Osamu Nakamura 0:7d720671e6dc 130 return *this;
Osamu Nakamura 0:7d720671e6dc 131 }
Osamu Nakamura 0:7d720671e6dc 132
Osamu Nakamura 0:7d720671e6dc 133 // add the device resources object
Osamu Nakamura 0:7d720671e6dc 134 OptionsBuilder &OptionsBuilder::setDeviceResourcesObject(const void *device_resources_object)
Osamu Nakamura 0:7d720671e6dc 135 {
Osamu Nakamura 0:7d720671e6dc 136 if (device_resources_object != NULL) {
Osamu Nakamura 0:7d720671e6dc 137 this->m_device_resources_object = (void *)device_resources_object;
Osamu Nakamura 0:7d720671e6dc 138 }
Osamu Nakamura 0:7d720671e6dc 139 return *this;
Osamu Nakamura 0:7d720671e6dc 140 }
Osamu Nakamura 0:7d720671e6dc 141
Osamu Nakamura 0:7d720671e6dc 142 // add the firmware resources object
Osamu Nakamura 0:7d720671e6dc 143 OptionsBuilder &OptionsBuilder::setFirmwareResourcesObject(const void *firmware_resources_object)
Osamu Nakamura 0:7d720671e6dc 144 {
Osamu Nakamura 0:7d720671e6dc 145 if (firmware_resources_object != NULL) {
Osamu Nakamura 0:7d720671e6dc 146 this->m_firmware_resources_object = (void *)firmware_resources_object;
Osamu Nakamura 0:7d720671e6dc 147 }
Osamu Nakamura 0:7d720671e6dc 148 return *this;
Osamu Nakamura 0:7d720671e6dc 149 }
Osamu Nakamura 0:7d720671e6dc 150
Osamu Nakamura 0:7d720671e6dc 151 // add static resource
Osamu Nakamura 0:7d720671e6dc 152 OptionsBuilder &OptionsBuilder::addResource(const StaticResource *resource)
Osamu Nakamura 0:7d720671e6dc 153 {
Osamu Nakamura 0:7d720671e6dc 154 if (resource != NULL) {
Osamu Nakamura 0:7d720671e6dc 155 ((StaticResource *)resource)->setOptions(this);
Osamu Nakamura 0:7d720671e6dc 156 this->m_static_resources.push_back((StaticResource *)resource);
Osamu Nakamura 0:7d720671e6dc 157 }
Osamu Nakamura 0:7d720671e6dc 158 return *this;
Osamu Nakamura 0:7d720671e6dc 159 }
Osamu Nakamura 0:7d720671e6dc 160
Osamu Nakamura 0:7d720671e6dc 161 // add dynamic resource
Osamu Nakamura 0:7d720671e6dc 162 OptionsBuilder &OptionsBuilder::addResource(const DynamicResource *resource)
Osamu Nakamura 0:7d720671e6dc 163 {
Osamu Nakamura 0:7d720671e6dc 164 // ensure that the boolean isn't mistaken by the compiler for the obs period...
Osamu Nakamura 0:7d720671e6dc 165 return this->addResource(resource,DEFAULT_OBS_PERIOD,!(((DynamicResource *)resource)->implementsObservation()));
Osamu Nakamura 0:7d720671e6dc 166 }
Osamu Nakamura 0:7d720671e6dc 167
Osamu Nakamura 0:7d720671e6dc 168 // add dynamic resource
Osamu Nakamura 0:7d720671e6dc 169 OptionsBuilder &OptionsBuilder::addResource(const DynamicResource *resource,const int sleep_time)
Osamu Nakamura 0:7d720671e6dc 170 {
Osamu Nakamura 0:7d720671e6dc 171 // ensure that the boolean isn't mistaken by the compiler for the obs period...
Osamu Nakamura 0:7d720671e6dc 172 return this->addResource(resource,sleep_time,!(((DynamicResource *)resource)->implementsObservation()));
Osamu Nakamura 0:7d720671e6dc 173 }
Osamu Nakamura 0:7d720671e6dc 174
Osamu Nakamura 0:7d720671e6dc 175 // add dynamic resource
Osamu Nakamura 0:7d720671e6dc 176 OptionsBuilder &OptionsBuilder::addResource(const DynamicResource *resource,const bool use_observer)
Osamu Nakamura 0:7d720671e6dc 177 {
Osamu Nakamura 0:7d720671e6dc 178 // ensure that the boolean isn't mistaken by the compiler for the obs period...
Osamu Nakamura 0:7d720671e6dc 179 return this->addResource(resource,DEFAULT_OBS_PERIOD,use_observer);
Osamu Nakamura 0:7d720671e6dc 180 }
Osamu Nakamura 0:7d720671e6dc 181
Osamu Nakamura 0:7d720671e6dc 182 // add dynamic resource
Osamu Nakamura 0:7d720671e6dc 183 OptionsBuilder &OptionsBuilder::addResource(const DynamicResource *resource,const int sleep_time,const bool use_observer)
Osamu Nakamura 0:7d720671e6dc 184 {
Osamu Nakamura 0:7d720671e6dc 185 if (resource != NULL) {
Osamu Nakamura 0:7d720671e6dc 186 this->m_dynamic_resources.push_back((DynamicResource *)resource);
Osamu Nakamura 0:7d720671e6dc 187 ((DynamicResource *)resource)->setOptions(this);
Osamu Nakamura 0:7d720671e6dc 188 ((DynamicResource *)resource)->setEndpoint((const void *)this->getEndpoint());
Osamu Nakamura 0:7d720671e6dc 189 if (((DynamicResource *)resource)->isObservable() == true && use_observer == true) {
Osamu Nakamura 0:7d720671e6dc 190 // Establish the appropriate ResourceObserver
Osamu Nakamura 0:7d720671e6dc 191 #if defined (MCI_MINAR_SCHEDULER)
Osamu Nakamura 0:7d720671e6dc 192 // Minar-based Scheduler ResourceObserver
Osamu Nakamura 0:7d720671e6dc 193 MinarResourceObserver *observer = new MinarResourceObserver((DynamicResource *)resource,(int)sleep_time);
Osamu Nakamura 0:7d720671e6dc 194 #else
Osamu Nakamura 0:7d720671e6dc 195 #ifdef CONNECTOR_USING_THREADS
Osamu Nakamura 0:7d720671e6dc 196 // mbedOS RTOS Thread ResourceObserver
Osamu Nakamura 0:7d720671e6dc 197 ThreadedResourceObserver *observer = new ThreadedResourceObserver((DynamicResource *)resource,(int)sleep_time);
Osamu Nakamura 0:7d720671e6dc 198 #endif
Osamu Nakamura 0:7d720671e6dc 199 #ifdef CONNECTOR_USING_TICKER
Osamu Nakamura 0:7d720671e6dc 200 // mbed Ticker ResourceObserver
Osamu Nakamura 0:7d720671e6dc 201 TickerResourceObserver *observer = new TickerResourceObserver((DynamicResource *)resource,(int)sleep_time);
Osamu Nakamura 0:7d720671e6dc 202 #endif
Osamu Nakamura 0:7d720671e6dc 203 #endif
Osamu Nakamura 0:7d720671e6dc 204 // If no observer type is set in mbed-connector-interface/configuration.h (EndpointNetwork lib), then "observer" will be unresolved
Osamu Nakamura 0:7d720671e6dc 205 this->m_resource_observers.push_back(observer);
Osamu Nakamura 0:7d720671e6dc 206
Osamu Nakamura 0:7d720671e6dc 207 // immedate observation enablement option
Osamu Nakamura 0:7d720671e6dc 208 if (this->immedateObservationEnabled()) {
Osamu Nakamura 0:7d720671e6dc 209 observer->beginObservation();
Osamu Nakamura 0:7d720671e6dc 210 }
Osamu Nakamura 0:7d720671e6dc 211 }
Osamu Nakamura 0:7d720671e6dc 212 }
Osamu Nakamura 0:7d720671e6dc 213 return *this;
Osamu Nakamura 0:7d720671e6dc 214 }
Osamu Nakamura 0:7d720671e6dc 215
Osamu Nakamura 0:7d720671e6dc 216 // set WiFi SSID
Osamu Nakamura 0:7d720671e6dc 217 OptionsBuilder &OptionsBuilder::setWiFiSSID(char *ssid)
Osamu Nakamura 0:7d720671e6dc 218 {
Osamu Nakamura 0:7d720671e6dc 219 this->m_wifi_ssid = string(ssid);
Osamu Nakamura 0:7d720671e6dc 220 return *this;
Osamu Nakamura 0:7d720671e6dc 221 }
Osamu Nakamura 0:7d720671e6dc 222
Osamu Nakamura 0:7d720671e6dc 223 // set WiFi AuthType
Osamu Nakamura 0:7d720671e6dc 224 OptionsBuilder &OptionsBuilder::setWiFiAuthType(WiFiAuthTypes auth_type)
Osamu Nakamura 0:7d720671e6dc 225 {
Osamu Nakamura 0:7d720671e6dc 226 this->m_wifi_auth_type = auth_type;
Osamu Nakamura 0:7d720671e6dc 227 return *this;
Osamu Nakamura 0:7d720671e6dc 228 }
Osamu Nakamura 0:7d720671e6dc 229
Osamu Nakamura 0:7d720671e6dc 230 // set WiFi AuthKey
Osamu Nakamura 0:7d720671e6dc 231 OptionsBuilder &OptionsBuilder::setWiFiAuthKey(char *auth_key)
Osamu Nakamura 0:7d720671e6dc 232 {
Osamu Nakamura 0:7d720671e6dc 233 this->m_wifi_auth_key = string(auth_key);
Osamu Nakamura 0:7d720671e6dc 234 return *this;
Osamu Nakamura 0:7d720671e6dc 235 }
Osamu Nakamura 0:7d720671e6dc 236
Osamu Nakamura 0:7d720671e6dc 237 // set the CoAP Connection Type
Osamu Nakamura 0:7d720671e6dc 238 OptionsBuilder &OptionsBuilder::setCoAPConnectionType(CoAPConnectionTypes coap_connection_type)
Osamu Nakamura 0:7d720671e6dc 239 {
Osamu Nakamura 0:7d720671e6dc 240 this->m_coap_connection_type = coap_connection_type;
Osamu Nakamura 0:7d720671e6dc 241 return *this;
Osamu Nakamura 0:7d720671e6dc 242 }
Osamu Nakamura 0:7d720671e6dc 243
Osamu Nakamura 0:7d720671e6dc 244 // set the IP Address Type
Osamu Nakamura 0:7d720671e6dc 245 OptionsBuilder &OptionsBuilder::setIPAddressType(IPAddressTypes ip_address_type)
Osamu Nakamura 0:7d720671e6dc 246 {
Osamu Nakamura 0:7d720671e6dc 247 this->m_ip_address_type = ip_address_type;
Osamu Nakamura 0:7d720671e6dc 248 return *this;
Osamu Nakamura 0:7d720671e6dc 249 }
Osamu Nakamura 0:7d720671e6dc 250
Osamu Nakamura 0:7d720671e6dc 251 // build out our immutable self
Osamu Nakamura 0:7d720671e6dc 252 Options *OptionsBuilder::build()
Osamu Nakamura 0:7d720671e6dc 253 {
Osamu Nakamura 0:7d720671e6dc 254 return (Options *)this;
Osamu Nakamura 0:7d720671e6dc 255 }
Osamu Nakamura 0:7d720671e6dc 256
Osamu Nakamura 0:7d720671e6dc 257 // Enable/Disable immediate observationing
Osamu Nakamura 0:7d720671e6dc 258 OptionsBuilder &OptionsBuilder::setImmedateObservationEnabled(bool enable) {
Osamu Nakamura 0:7d720671e6dc 259 this->m_enable_immediate_observation = enable;
Osamu Nakamura 0:7d720671e6dc 260 return *this;
Osamu Nakamura 0:7d720671e6dc 261 }
Osamu Nakamura 0:7d720671e6dc 262
Osamu Nakamura 0:7d720671e6dc 263 // Enable/Disable GET-based control of observations
Osamu Nakamura 0:7d720671e6dc 264 OptionsBuilder &OptionsBuilder::setEnableGETObservationControl(bool enable) {
Osamu Nakamura 0:7d720671e6dc 265 this->m_enable_get_obs_control = enable;
Osamu Nakamura 0:7d720671e6dc 266 return *this;
Osamu Nakamura 0:7d720671e6dc 267 }
Osamu Nakamura 0:7d720671e6dc 268
Osamu Nakamura 0:7d720671e6dc 269 // set the server certificate
Osamu Nakamura 0:7d720671e6dc 270 OptionsBuilder &OptionsBuilder::setServerCertificate(uint8_t *cert,int cert_size) {
Osamu Nakamura 0:7d720671e6dc 271 this->m_server_cert = cert;
Osamu Nakamura 0:7d720671e6dc 272 this->m_server_cert_length = cert_size;
Osamu Nakamura 0:7d720671e6dc 273 return *this;
Osamu Nakamura 0:7d720671e6dc 274 }
Osamu Nakamura 0:7d720671e6dc 275
Osamu Nakamura 0:7d720671e6dc 276 // set the client certificate
Osamu Nakamura 0:7d720671e6dc 277 OptionsBuilder &OptionsBuilder::setClientCertificate(uint8_t *cert,int cert_size) {
Osamu Nakamura 0:7d720671e6dc 278 this->m_client_cert = cert;
Osamu Nakamura 0:7d720671e6dc 279 this->m_client_cert_length = cert_size;
Osamu Nakamura 0:7d720671e6dc 280 return *this;
Osamu Nakamura 0:7d720671e6dc 281 }
Osamu Nakamura 0:7d720671e6dc 282
Osamu Nakamura 0:7d720671e6dc 283 // set the client key
Osamu Nakamura 0:7d720671e6dc 284 OptionsBuilder &OptionsBuilder::setClientKey(uint8_t *key,int key_size) {
Osamu Nakamura 0:7d720671e6dc 285 this->m_client_key = key;
Osamu Nakamura 0:7d720671e6dc 286 this->m_client_key_length = key_size;
Osamu Nakamura 0:7d720671e6dc 287 return *this;
Osamu Nakamura 0:7d720671e6dc 288 }
Osamu Nakamura 0:7d720671e6dc 289
Osamu Nakamura 0:7d720671e6dc 290 // set our endpoint
Osamu Nakamura 0:7d720671e6dc 291 void OptionsBuilder::setEndpoint(void *endpoint) {
Osamu Nakamura 0:7d720671e6dc 292 this->m_endpoint = endpoint;
Osamu Nakamura 0:7d720671e6dc 293 }
Osamu Nakamura 0:7d720671e6dc 294
Osamu Nakamura 0:7d720671e6dc 295 } // namespace Connector