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

#include <ConnectionObserver.h>

Inheritance diagram for alexaClientSDK::sampleApp::ConnectionObserver:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::sampleApp::ConnectionObserver:
Collaboration graph
[legend]

Public Member Functions

 ConnectionObserver ()
 
void onAuthStateChange (avsCommon::sdkInterfaces::AuthObserverInterface::State newState, avsCommon::sdkInterfaces::AuthObserverInterface::Error error) override
 
void onConnectionStatusChanged (const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status status, const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::ChangedReason reason) override
 
bool waitFor (const avsCommon::sdkInterfaces::AuthObserverInterface::State authState, const std::chrono::seconds duration=std::chrono::seconds(20))
 
bool waitFor (const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status connectionStatus, const std::chrono::seconds duration=std::chrono::seconds(20))
 
- Public Member Functions inherited from alexaClientSDK::avsCommon::sdkInterfaces::AuthObserverInterface
virtual ~AuthObserverInterface ()=default
 
- Public Member Functions inherited from alexaClientSDK::avsCommon::sdkInterfaces::ConnectionStatusObserverInterface
virtual ~ConnectionStatusObserverInterface ()=default
 

Additional Inherited Members

- Public Types inherited from alexaClientSDK::avsCommon::sdkInterfaces::AuthObserverInterface
enum  State { State::UNINITIALIZED, State::REFRESHED, State::EXPIRED, State::UNRECOVERABLE_ERROR }
 The enum State describes the state of authorization. More...
 
enum  Error {
  Error::SUCCESS, Error::UNKNOWN_ERROR, Error::AUTHORIZATION_FAILED, Error::UNAUTHORIZED_CLIENT,
  Error::SERVER_ERROR, Error::INVALID_REQUEST, Error::INVALID_VALUE, Error::AUTHORIZATION_EXPIRED,
  Error::UNSUPPORTED_GRANT_TYPE, Error::INVALID_CODE_PAIR, Error::AUTHORIZATION_PENDING, Error::SLOW_DOWN,
  Error::INTERNAL_ERROR, Error::INVALID_CBL_CLIENT_ID
}
 The enum Error encodes possible errors which may occur when changing state. More...
 
- 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

A class that observes the status of authorization and connection to AVS.

Constructor & Destructor Documentation

◆ ConnectionObserver()

alexaClientSDK::sampleApp::ConnectionObserver::ConnectionObserver ( )

Constructor.

Member Function Documentation

◆ onAuthStateChange()

void alexaClientSDK::sampleApp::ConnectionObserver::onAuthStateChange ( avsCommon::sdkInterfaces::AuthObserverInterface::State  newState,
avsCommon::sdkInterfaces::AuthObserverInterface::Error  error 
)
overridevirtual

Notification that an authorization state has changed.

Note
Implementations of this method must not call AuthDelegate methods because the AuthDelegate may be in a 'locked' state at the time this call is made.
Parameters
newStateThe new state of the authorization token.
errorThe error associated to the state change.

Implements alexaClientSDK::avsCommon::sdkInterfaces::AuthObserverInterface.

◆ onConnectionStatusChanged()

void alexaClientSDK::sampleApp::ConnectionObserver::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() [1/2]

bool alexaClientSDK::sampleApp::ConnectionObserver::waitFor ( const avsCommon::sdkInterfaces::AuthObserverInterface::State  authState,
const std::chrono::seconds  duration = std::chrono::seconds(20) 
)

Waits for the specified authorization state.

Parameters
authStateThe auth state to wait for.
durationThe optional duration to wait for. This defaults to 20 seconds.
Returns
Whether the state was successfully reached.

◆ waitFor() [2/2]

bool alexaClientSDK::sampleApp::ConnectionObserver::waitFor ( const avsCommon::sdkInterfaces::ConnectionStatusObserverInterface::Status  connectionStatus,
const std::chrono::seconds  duration = std::chrono::seconds(20) 
)

Waits for the specified connection state.

Parameters
authStateThe connection state to wait for.
durationThe optional duration to wait for. This defaults to 20 seconds.
Returns
Whether the state was successfully reached.

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

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