AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | List of all members
alexaClientSDK::integration::ConnectionStatusObserver Class Reference

#include <ConnectionStatusObserver.h>

Inheritance diagram for alexaClientSDK::integration::ConnectionStatusObserver:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::integration::ConnectionStatusObserver:
Collaboration graph
[legend]

Public Member Functions

 ConnectionStatusObserver ()
 
void onConnectionStatusChanged (const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status connectionStatus, const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::ChangedReason reason) override
 
avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status getConnectionStatus () const
 
bool waitFor (const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status connectionStatus, const std::chrono::seconds duration=std::chrono::seconds(15))
 
bool checkForServerSideDisconnect ()
 
- Public Member Functions inherited from alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface
virtual ~ConnectionStatusObserverInterface ()=default
 
virtual void onConnectionStatusChanged (const Status status, const std::vector< EngineConnectionStatus > &engineStatuses)
 

Additional Inherited Members

- Public Types inherited from alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface
enum  Status { Status::DISCONNECTED, Status::PENDING, Status::CONNECTED }
 
enum  ChangedReason {
  ChangedReason::NONE, ChangedReason::SUCCESS, ChangedReason::UNRECOVERABLE_ERROR, ChangedReason::ACL_CLIENT_REQUEST,
  ChangedReason::ACL_DISABLED, ChangedReason::DNS_TIMEDOUT, ChangedReason::CONNECTION_TIMEDOUT, ChangedReason::CONNECTION_THROTTLED,
  ChangedReason::INVALID_AUTH, ChangedReason::PING_TIMEDOUT, ChangedReason::WRITE_TIMEDOUT, ChangedReason::READ_TIMEDOUT,
  ChangedReason::FAILURE_PROTOCOL_ERROR, ChangedReason::INTERNAL_ERROR, ChangedReason::SERVER_INTERNAL_ERROR, ChangedReason::SERVER_SIDE_DISCONNECT,
  ChangedReason::SERVER_ENDPOINT_CHANGED
}
 

Detailed Description

The class implements ConnectionStatusObserverInterface for testing.

Constructor & Destructor Documentation

◆ ConnectionStatusObserver()

alexaClientSDK::integration::ConnectionStatusObserver::ConnectionStatusObserver ( )

Member Function Documentation

◆ checkForServerSideDisconnect()

bool alexaClientSDK::integration::ConnectionStatusObserver::checkForServerSideDisconnect ( )

Function to check if the connection is broken due to Server side Disconnect.

Returns
true if the disconnect happens due to SERVER_SIDE_DISCONNECT else false.

◆ getConnectionStatus()

ConnectionStatusObserverInterface::Status alexaClientSDK::integration::ConnectionStatusObserver::getConnectionStatus ( ) const

The utility function to get the connection status.

Returns
Status The connectionStatus for the connection.

◆ onConnectionStatusChanged()

void alexaClientSDK::integration::ConnectionStatusObserver::onConnectionStatusChanged ( const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status  status,
const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::ChangedReason  reason 
)
overridevirtual

Called when the AVS connection state changes.

Parameters
statusThe current connection status.
reasonThe reason the status change occurred.

Implements alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface.

◆ waitFor()

bool alexaClientSDK::integration::ConnectionStatusObserver::waitFor ( const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status  connectionStatus,
const std::chrono::seconds  duration = std::chrono::seconds(15) 
)

Function to allow waiting for an expected status when a connection or disconnection is done.

Parameters
connectionStatusThe expected connection status for which the waiting is done.
durationThe maximum time waiting for the expected connectionStatus.
Returns
true if expected connectionStatus is received within duration else false.

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

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