AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
DeviceSetup.h
Go to the documentation of this file.
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0/
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 #ifndef ACSDKDEVICESETUP_DEVICESETUP_H_
17 #define ACSDKDEVICESETUP_DEVICESETUP_H_
18 
20 
23 
24 namespace alexaClientSDK {
25 namespace acsdkDeviceSetup {
26 
34  , public std::enable_shared_from_this<DeviceSetup> {
35 public:
42  static std::shared_ptr<DeviceSetup> create(
43  std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> messageSender);
44 
45  /*
46  * Factory method.
47  *
48  * @param messageSender A @c MessageSenderInterface to send messages to AVS.
49  * @return A ptr to the DeviceSetupInterface if successful or nullptr otherwise.
50  */
51  static std::shared_ptr<acsdkDeviceSetupInterfaces::DeviceSetupInterface> createDeviceSetupInterface(
52  const std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface>& messageSender);
53 
56  std::unordered_set<std::shared_ptr<avsCommon::avs::CapabilityConfiguration>> getCapabilityConfigurations() override;
58 
61  std::future<bool> sendDeviceSetupComplete(acsdkDeviceSetupInterfaces::AssistedSetup assistedSetup) override;
63 
64 private:
70  DeviceSetup(std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> messageSender);
71 
73  std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> m_messageSender;
74 };
75 
76 } // namespace acsdkDeviceSetup
77 } // namespace alexaClientSDK
78 
79 #endif // ACSDKDEVICESETUP_DEVICESETUP_H_
alexaClientSDK::acsdkDeviceSetup::DeviceSetup::getCapabilityConfigurations
std::unordered_set< std::shared_ptr< avsCommon::avs::CapabilityConfiguration > > getCapabilityConfigurations() override
Definition: DeviceSetup.cpp:71
alexaClientSDK::acsdkDeviceSetup::DeviceSetup::sendDeviceSetupComplete
std::future< bool > sendDeviceSetupComplete(acsdkDeviceSetupInterfaces::AssistedSetup assistedSetup) override
Definition: DeviceSetup.cpp:80
alexaClientSDK::acsdkDeviceSetup::DeviceSetup::create
static std::shared_ptr< DeviceSetup > create(std::shared_ptr< avsCommon::sdkInterfaces::MessageSenderInterface > messageSender)
Definition: DeviceSetup.cpp:50
alexaClientSDK::avsCommon::sdkInterfaces::CapabilityConfigurationInterface
Definition: CapabilityConfigurationInterface.h:32
alexaClientSDK::acsdkDeviceSetup::DeviceSetup
Definition: DeviceSetup.h:31
alexaClientSDK::acsdkDeviceSetupInterfaces::AssistedSetup
AssistedSetup
Indicates if setup was assisted by another device or application.
Definition: DeviceSetupInterface.h:28
DeviceSetupInterface.h
alexaClientSDK
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
MessageSenderInterface.h
alexaClientSDK::acsdkDeviceSetup::DeviceSetup::createDeviceSetupInterface
static std::shared_ptr< acsdkDeviceSetupInterfaces::DeviceSetupInterface > createDeviceSetupInterface(const std::shared_ptr< avsCommon::sdkInterfaces::MessageSenderInterface > &messageSender)
Definition: DeviceSetup.cpp:61
alexaClientSDK::acsdkDeviceSetupInterfaces::DeviceSetupInterface
Satisfies the AVS DeviceSetup Interface.
Definition: DeviceSetupInterface.h:64
CapabilityConfigurationInterface.h

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