AlexaClientSDK
3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
|
#include <EndpointBuilderInterface.h>
Public Member Functions | |
virtual | ~EndpointBuilderInterface ()=default |
virtual EndpointBuilderInterface & | withDerivedEndpointId (const std::string &suffix)=0 |
virtual EndpointBuilderInterface & | withDeviceRegistration ()=0 |
virtual EndpointBuilderInterface & | withEndpointId (const EndpointIdentifier &endpointId)=0 |
virtual EndpointBuilderInterface & | withFriendlyName (const std::string &friendlyName)=0 |
virtual EndpointBuilderInterface & | withDescription (const std::string &description)=0 |
virtual EndpointBuilderInterface & | withManufacturerName (const std::string &manufacturerName)=0 |
virtual EndpointBuilderInterface & | withDisplayCategory (const std::vector< std::string > &displayCategories)=0 |
virtual EndpointBuilderInterface & | withAdditionalAttributes (const std::string &manufacturer, const std::string &model, const std::string &serialNumber, const std::string &firmwareVersion, const std::string &softwareVersion, const std::string &customIdentifier)=0 |
virtual EndpointBuilderInterface & | withConnections (const std::vector< std::map< std::string, std::string >> &connections)=0 |
virtual EndpointBuilderInterface & | withCookies (const std::map< std::string, std::string > &cookies)=0 |
virtual EndpointBuilderInterface & | withPowerController (std::shared_ptr< avsCommon::sdkInterfaces::powerController::PowerControllerInterface > powerController, bool isProactivelyReported, bool isRetrievable)=0 |
virtual EndpointBuilderInterface & | withToggleController (std::shared_ptr< avsCommon::sdkInterfaces::toggleController::ToggleControllerInterface > toggleController, const std::string &instance, const avsCommon::sdkInterfaces::toggleController::ToggleControllerAttributes &toggleControllerAttributes, bool isProactivelyReported, bool isRetrievable, bool isNonControllable=false)=0 |
virtual EndpointBuilderInterface & | withModeController (std::shared_ptr< avsCommon::sdkInterfaces::modeController::ModeControllerInterface > modeController, const std::string &instance, const avsCommon::sdkInterfaces::modeController::ModeControllerAttributes &modeControllerAttributes, bool isProactivelyReported, bool isRetrievable, bool isNonControllable=false)=0 |
virtual EndpointBuilderInterface & | withRangeController (std::shared_ptr< avsCommon::sdkInterfaces::rangeController::RangeControllerInterface > rangeController, const std::string &instance, const avsCommon::sdkInterfaces::rangeController::RangeControllerAttributes &rangeControllerAttributes, bool isProactivelyReported, bool isRetrievable, bool isNonControllable=false)=0 |
virtual EndpointBuilderInterface & | withEndpointCapabilitiesBuilder (const std::shared_ptr< avsCommon::sdkInterfaces::endpoints::EndpointCapabilitiesBuilderInterface > &endpointCapabilitiesBuilder)=0 |
virtual std::unique_ptr< EndpointInterface > | build ()=0 |
Public Member Functions inherited from alexaClientSDK::avsCommon::sdkInterfaces::endpoints::EndpointCapabilitiesRegistrarInterface | |
virtual | ~EndpointCapabilitiesRegistrarInterface ()=default |
virtual EndpointCapabilitiesRegistrarInterface & | withCapability (const avs::CapabilityConfiguration &configuration, std::shared_ptr< DirectiveHandlerInterface > directiveHandler)=0 |
virtual EndpointCapabilitiesRegistrarInterface & | withCapability (const std::shared_ptr< avsCommon::sdkInterfaces::CapabilityConfigurationInterface > &configurationInterface, std::shared_ptr< DirectiveHandlerInterface > directiveHandler)=0 |
virtual EndpointCapabilitiesRegistrarInterface & | withCapabilityConfiguration (const std::shared_ptr< avsCommon::sdkInterfaces::CapabilityConfigurationInterface > &configurationInterface)=0 |
Interface for an endpoint builder.
The builder is responsible for building an endpoint object. Use the EndpointRegistrationManagerInterface
to register the endpoint and EndpointRegistrationObserverInterface
to be notified about any changes to the endpoint registration.
withDerivedEndpointId()
with a suffix that is unique across other parts of this device. The final endpoint identifier will be generated by combining the default endpoint identifier and the suffix provided.withEndpointId()
. The identifier must be unique across endpoints registered to the user and consistent for every build.
|
virtualdefault |
Destructor.
|
pure virtual |
Builds an endpoint with the configured properties / components.
Build will fail iff the format of any attribute is invalid or if a mandatory attribute is missing.
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to set additional attributes that can be used to identify an endpoint.
manufacturer | The name of the manufacturer of the device. |
model | The name of the model of the device. |
serialNumber | The serial number of the device. |
firmwareVersion | The firmware version of the device. |
softwareVersion | The software version of the device. |
customIdentifier | Your custom identifier for the device. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to represent the methods that the endpoint uses to connect to the internet of smart home hub.
connections | The available connection methods and their attributes. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to store custom key value pair about the device.
cookies | Key value pairs for additional of the endpoint. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use an endpointId that is generated using the default endpoint id and the given suffix.
suffix | A suffix that should be unique for the given client. The build() function fails if it exceeds 10 characters. If the suffix is not unique, the newly-built endpoint will replace the previous endpoint which had the same suffix when registered. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use the given description.
description | The description of the endpoint. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Includes default Registration information to the endpoint.
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use the following display categories.
description | The display category the device belongs to. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use a EndpointCapabilitiesBuilder
object that can be used to build multiple capability agents.
endpointCapabilitiesBuilder | A EndpointCapabilitiesBuilder object. |
|
pure virtual |
Configures builder to use the given identifier for the new endpoint.
endpointId | An endpointId that identifies this endpoint. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use the given friendly name.
friendlyName | The friendly name used to identify the endpoint. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use name of the device manufacturer representing the endpoint.
description | The manufacturer name of the device representing the endpoint. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use a ModeControllerInterface
with instance
identifier.
withEndpointCapabilitiesBuilder()
method instead.modeController | An interface that provides the mode operations. |
instance | A non-empty string identifying an instance of a mode controller uniquely in a endpoint. |
modeControllerAttributes | The attributes used in capability discovery message. |
isProactivelyReported | Whether the property state change is proactively reported. |
isRetrievable | Whether the property state is retrievable. |
isNonControllable | Whether the property state can be controlled or not. This must be false for the property state to be controllable. Default is false . |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use a PowerControllerInterface
withEndpointCapabilitiesBuilder()
method instead.powerController | An interface that provides the power operations. |
isProactivelyReported | Whether the property state change is proactively reported. |
isRetrievable | Whether the property state is retrievable. |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use a RangeControllerInteface
with instance
identifier.
withEndpointCapabilitiesBuilder()
method instead.rangeController | An interface that provides the range operations. |
instance | A non-empty string identifying an instance of a range controller uniquely in a endpoint. |
rangeControllerAttributes | The attributes used in capability discovery message. |
isProactivelyReported | Whether the property state change is proactively reported. |
isRetrievable | Whether the property state is retrievable. |
isNonControllable | Whether the property state can be controlled or not. This must be false for the property state to be controllable. Default is false . |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
|
pure virtual |
Configures builder to use a ToggleControllerInterface
with instance
identifier.
withEndpointCapabilitiesBuilder()
method instead.toggleController | An interface that performs the toggle operations. |
instance | A non-empty string identifying an instance of a toggle controller uniquely in a endpoint. |
toggleControllerAttributes | The attributes used in capability discovery message. |
isProactivelyReported | Whether the property state change is proactively reported. |
isRetrievable | Whether the property state is retrievable. |
isNonControllable | Whether the property state can be controlled or not. This must be false for the property state to be controllable. Default is false . |
Implemented in alexaClientSDK::endpoints::EndpointBuilder, and alexaClientSDK::endpoints::DefaultEndpointBuilder.
AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0