AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | Static Public Member Functions | List of all members
alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder Class Reference

#include <ModeControllerAttributeBuilder.h>

Inheritance diagram for alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder:
Collaboration graph
[legend]

Public Member Functions

virtual ~ModeControllerAttributeBuilder ()=default
 
ModeControllerAttributeBuilderInterface Functions
ModeControllerAttributeBuilderwithCapabilityResources (const avsCommon::avs::CapabilityResources &capabilityResources) override
 
ModeControllerAttributeBuilderaddMode (const std::string &mode, const avsCommon::sdkInterfaces::modeController::ModeResources &modeResources) override
 
ModeControllerAttributeBuildersetOrdered (bool ordered) override
 
ModeControllerAttributeBuilderwithSemantics (const avsCommon::avs::capabilitySemantics::CapabilitySemantics &semantics) override
 
avsCommon::utils::Optional< avsCommon::sdkInterfaces::modeController::ModeControllerAttributesbuild () override
 
- Public Member Functions inherited from alexaClientSDK::avsCommon::sdkInterfaces::modeController::ModeControllerAttributeBuilderInterface
virtual ~ModeControllerAttributeBuilderInterface ()=default
 

Static Public Member Functions

static std::unique_ptr< ModeControllerAttributeBuildercreate ()
 

Detailed Description

This class implements ModeControllerAttributeBuilderInterface to build ModeControllerAttributes.

Constructor & Destructor Documentation

◆ ~ModeControllerAttributeBuilder()

virtual alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder::~ModeControllerAttributeBuilder ( )
virtualdefault

Destructor.

Member Function Documentation

◆ addMode()

ModeControllerAttributeBuilder& alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder::addMode ( const std::string &  mode,
const avsCommon::sdkInterfaces::modeController::ModeResources modeResources 
)
overridevirtual

Add a mode with mode name and its mode resources.

Note
By default modes added using this method are considered as not ordered. However, to enforce ordering of the modes as the way these are inserted into, call setOrdered with true.
Calling this with the same mode name shall overwrite the previous value.
Parameters
modeA mode of controller.
modeResourcesThe mode resources represeneted using ModeResources.
Returns
This builder which can be used to nest configuration function calls.

Implements alexaClientSDK::avsCommon::sdkInterfaces::modeController::ModeControllerAttributeBuilderInterface.

◆ build()

avsCommon::utils::Optional<avsCommon::sdkInterfaces::modeController::ModeControllerAttributes> alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder::build ( )
overridevirtual

Builds a ModeControllerAttributes with the configured properties.

Returns
A non optional ModeControllerAttributes if the build succeeds; otherwise, an empty ModeControllerAttributes object.

Implements alexaClientSDK::avsCommon::sdkInterfaces::modeController::ModeControllerAttributeBuilderInterface.

◆ create()

static std::unique_ptr<ModeControllerAttributeBuilder> alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder::create ( )
static

Create an instance of ModeControllerAttributeBuilder.

Returns
Returns a new instance of ModeControllerAttributeBuilder.

◆ setOrdered()

ModeControllerAttributeBuilder& alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder::setOrdered ( bool  ordered)
overridevirtual

Configures builders about the order of the modes in the controller.

Note
The order here means how the modes are organized in the mode controller. By setting this to true, you enable the Alexa to send the adjustMode directive.
See also
https://developer.amazon.com/docs/alexa/alexa-voice-service/alexa-modecontroller.html#capability-assertion
Note
Calling this again will overrite the previous provided value.
Parameters
orderedThe ordering of the modes in the controller.
Returns
This builder which can be used to nest configuration function calls.

Implements alexaClientSDK::avsCommon::sdkInterfaces::modeController::ModeControllerAttributeBuilderInterface.

◆ withCapabilityResources()

ModeControllerAttributeBuilder& alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder::withCapabilityResources ( const avsCommon::avs::CapabilityResources capabilityResources)
overridevirtual

Configures builder to use capability resources.

Note
This will overwrite capability resources if it was used previously.
Parameters
capabilityResourcesThe capability resources represented using CapabilityResources.
Returns
This builder which can be used to nest configuration function calls.

Implements alexaClientSDK::avsCommon::sdkInterfaces::modeController::ModeControllerAttributeBuilderInterface.

◆ withSemantics()

ModeControllerAttributeBuilder& alexaClientSDK::capabilityAgents::modeController::ModeControllerAttributeBuilder::withSemantics ( const avsCommon::avs::capabilitySemantics::CapabilitySemantics semantics)
overridevirtual

Configures the builder to use the specified semantics definition.

See also
https://developer.amazon.com/docs/alexa/alexa-voice-service/alexa-modecontroller.html
Parameters
semanticsThe CapabilitySemantics representing the semantics definition.
Returns
This builder, which can be used to nest configuration function calls.

Implements alexaClientSDK::avsCommon::sdkInterfaces::modeController::ModeControllerAttributeBuilderInterface.


The documentation for this class was generated from the following file:

AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0