AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Classes | Public Types | Public Member Functions | List of all members
alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface Class Referenceabstract

#include <ConnectionStatusObserverInterface.h>

Inheritance diagram for alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface:
Inheritance graph
[legend]

Classes

struct  EngineConnectionStatus
 

Public Types

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
}
 

Public Member Functions

virtual ~ConnectionStatusObserverInterface ()=default
 
virtual void onConnectionStatusChanged (const Status status, const ChangedReason reason)=0
 
virtual void onConnectionStatusChanged (const Status status, const std::vector< EngineConnectionStatus > &engineStatuses)
 

Detailed Description

This class allows a client to be notified of changes to connection status to AVS.

Member Enumeration Documentation

◆ ChangedReason

This enum expresses the reasons a connection status may change.

Enumerator
NONE 

The non-reason, to be used when no reason is specified (i.e. the 'unset' value).

SUCCESS 

The status changed to due to a successful operation.

UNRECOVERABLE_ERROR 

The status changed due to an error from which there is no recovery.

ACL_CLIENT_REQUEST 

The connection status changed due to the client interacting with the Connection public api.

ACL_DISABLED 

The connection attempt failed due to the Connection object being disabled.

DNS_TIMEDOUT 

The connection attempt failed due to DNS resolution timeout.

CONNECTION_TIMEDOUT 

The connection attempt failed due to timeout.

CONNECTION_THROTTLED 

The connection attempt failed due to excessive load on the server.

INVALID_AUTH 

The access credentials provided to ACL were invalid.

PING_TIMEDOUT 

There was a timeout sending a ping request.

WRITE_TIMEDOUT 

There was a timeout writing to AVS.

READ_TIMEDOUT 

There was a timeout reading from AVS.

FAILURE_PROTOCOL_ERROR 

There was an underlying protocol error.

INTERNAL_ERROR 

There was an internal error within ACL.

SERVER_INTERNAL_ERROR 

There was an internal error on the server.

SERVER_SIDE_DISCONNECT 

The server asked the client to reconnect.

SERVER_ENDPOINT_CHANGED 

The server endpoint has changed.

◆ Status

This enum expresses the states that a logical AVS connection can be in.

Enumerator
DISCONNECTED 

ACL is not connected to AVS.

PENDING 

ACL is attempting to establish a connection to AVS.

CONNECTED 

ACL is connected to AVS.

Constructor & Destructor Documentation

◆ ~ConnectionStatusObserverInterface()

virtual alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::~ConnectionStatusObserverInterface ( )
virtualdefault

Destructor.

Member Function Documentation

◆ onConnectionStatusChanged() [1/2]

virtual void alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::onConnectionStatusChanged ( const Status  status,
const ChangedReason  reason 
)
pure virtual

◆ onConnectionStatusChanged() [2/2]

virtual void alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::onConnectionStatusChanged ( const Status  status,
const std::vector< EngineConnectionStatus > &  engineStatuses 
)
inlinevirtual

Called when any of the connection state changes.

Parameters
statusA summarized status based on one or more engines' connection status. Most applications should use this to identify Alexa connectivity.
engineStatusesDetailed status for each connection. Gives more granular connection status when more than one connection is possible.

Reimplemented in alexaClientSDK::avsCommon::avs::DialogUXStateAggregator.


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