AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
MessageRouterInterface.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 ALEXA_CLIENT_SDK_ACL_INCLUDE_ACL_TRANSPORT_MESSAGEROUTERINTERFACE_H_
17 #define ALEXA_CLIENT_SDK_ACL_INCLUDE_ACL_TRANSPORT_MESSAGEROUTERINTERFACE_H_
18 
19 #include <memory>
20 #include <string>
21 #include <utility>
22 
27 
31 
32 namespace alexaClientSDK {
33 namespace acl {
34 
43 public:
45  using ConnectionStatus = std::pair<
48 
52  MessageRouterInterface(const std::string& name);
53 
59  virtual void enable() = 0;
60 
67  virtual void disable() = 0;
68 
75 
81  virtual void setAVSGateway(const std::string& avsGateway) = 0;
82 
88  virtual std::string getAVSGateway() = 0;
89 
93  virtual void onWakeConnectionRetry() = 0;
94 
98  virtual void onWakeVerifyConnectivity() = 0;
99 
105  virtual void setObserver(std::shared_ptr<MessageRouterObserverInterface> observer) = 0;
106 
110  virtual ~MessageRouterInterface() = default;
111 };
112 
114 }
115 
116 } // namespace acl
117 } // namespace alexaClientSDK
118 
119 #endif // ALEXA_CLIENT_SDK_ACL_INCLUDE_ACL_TRANSPORT_MESSAGEROUTERINTERFACE_H_
std::pair< avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status, avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::ChangedReason > ConnectionStatus
Alias to a connection status and changed reason pair.
Definition: MessageRouterInterface.h:47
ChangedReason
Definition: ConnectionStatusObserverInterface.h:50
Definition: MessageRouterInterface.h:40
MessageRouterInterface(const std::string &name)
Definition: MessageRouterInterface.h:113
virtual void setObserver(std::shared_ptr< MessageRouterObserverInterface > observer)=0
const std::string & name() const
Definition: RequiresShutdown.cpp:131
virtual ConnectionStatus getConnectionStatus()=0
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
This specifies an interface to send a message.
Definition: MessageSenderInterface.h:26
Status
Definition: ConnectionStatusObserverInterface.h:36
virtual void setAVSGateway(const std::string &avsGateway)=0

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