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.
Fork of mbedConnectorInterface by
api/OptionsBuilder.h
- Committer:
- ansond
- Date:
- 2015-01-28
- Revision:
- 3:11b2f4e58378
- Parent:
- 2:853f9ecc12df
- Child:
- 15:8ada80242804
File content as of revision 3:11b2f4e58378:
/** * @file OptionsBuilder.h * @brief mbed CoAP OptionsBuilder class header * @author Doug Anson/Chris Paola * @version 1.0 * @see * * Copyright (c) 2014 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef __OPTIONS_BUILDER_H__ #define __OPTIONS_BUILDER_H__ // base class support #include "Options.h" // Connector namespace namespace Connector { /** OptionsBuilder class */ class OptionsBuilder : Options { public: /** Default Constructor */ OptionsBuilder(); /** Copy Constructor @param ob input options builder instance to deep copy */ OptionsBuilder(const OptionsBuilder &ob); /** Destructor */ virtual ~OptionsBuilder(); /** Set the NSDL Endpoint Lifetime @param lifetime input the NSDL endpoint lifetime (seconds) @return instance to ourself */ OptionsBuilder &setLifetime(const char *lifetime); /** Set the NSDL Domain @param domain input the NSDL domain to set @return instance to ourself */ OptionsBuilder &setDomain(const char *domain); /** Set the Endpoint Node Name @param node_name input the node endpoint name @return instance to ourself */ OptionsBuilder &setEndpointNodename(const char *node_name); /** Set the NSDL Endpoint Type @param endpoint_type input the NSDL endpoint type @return instance to ourself */ OptionsBuilder &setEndpointType(const char *endpoint_type); /** Set the NSDL Port Number @param port_num input the NSDL port number @return instance to ourself */ OptionsBuilder &setNSPPortNumber(const int port_num); /** Set the underlying radio stack channel list @param channel_list input the radio channel list @return instance to ourself */ OptionsBuilder &setRadioChannelList(const uint32_t channel_list); /** Set the NSDL Read Update Period @param rd_update_period_ms input the NSDL read update period (in ms) @return instance to ourself */ OptionsBuilder &setReadUpdatePeriod(const int rd_update_period_ms); /** Set the NSP IPv6 Address @param nsp_address input the NSP IPv6 address @param nsp_address_length input the length of the NSP IPv6 address buffer @return instance to ourself */ OptionsBuilder &setNSPAddress(const uint8_t *nsp_address,const int nsp_address_length = NSP_IP_ADDRESS_LENGTH); /** Set the MAC address @param mac_address input the MAC address buffer @param mac_address_length input the MAC address buffer length @return instance to ourself */ OptionsBuilder &setMACAddress(const uint8_t *mac_address,const int mac_address_length = NODE_MAC_ADDRESS_LENGTH); /** Add a NSDL endpoint resource (static) @param static_resource input the NSDL static resource @return instance to ourself */ OptionsBuilder &addResource(const StaticResource *static_resource); /** Add a NSDL endpoint resource (dynamic) @param dynamic_resource input the NSDL dynamic resource @return instance to ourself */ OptionsBuilder &addResource(const DynamicResource *static_resource); /** Build our our immutable self */ Options *build(); }; } // namespace Connector #endif // __OPTIONS_BUILDER_H__