![]()  | 
  
    AlexaClientSDK
    3.0.0
    
   A cross-platform, modular SDK for interacting with the Alexa Voice Service 
   | 
 
#include <CloudControlledSettingProtocol.h>


Public Member Functions | |
| ~CloudControlledSettingProtocol ()=default | |
SettingProtocolInterface methods.  | |
| SetSettingResult | localChange (ApplyChangeFunction applyChange, RevertChangeFunction revertChange, SettingNotificationFunction notifyObservers) override | 
| bool | avsChange (ApplyChangeFunction applyChange, RevertChangeFunction revertChange, SettingNotificationFunction notifyObservers) override | 
| bool | restoreValue (ApplyDbChangeFunction applyChange, SettingNotificationFunction notifyObservers) override | 
| bool | clearData () override | 
  Public Member Functions inherited from alexaClientSDK::settings::SettingProtocolInterface | |
| virtual | ~SettingProtocolInterface ()=default | 
Static Public Member Functions | |
| static std::unique_ptr< CloudControlledSettingProtocol > | create (const SettingEventMetadata &metadata, std::shared_ptr< SettingEventSenderInterface > eventSender, std::shared_ptr< storage::DeviceSettingStorageInterface > settingStorage, std::shared_ptr< avsCommon::sdkInterfaces::AVSConnectionManagerInterface > connectionManager, const std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > &metricRecorder) | 
Additional Inherited Members | |
  Public Types inherited from alexaClientSDK::settings::SettingProtocolInterface | |
| using | ApplyChangeFunction = std::function< std::pair< bool, std::string >()> | 
| using | ApplyDbChangeFunction = std::function< std::pair< bool, std::string >(const std::string &dbValue)> | 
| using | SettingNotificationFunction = std::function< void(SettingNotifications notification)> | 
| using | RevertChangeFunction = std::function< std::string()> | 
Implement the protocol for cloud controlled settings.
      
  | 
  default | 
Destructor.
      
  | 
  overridevirtual | 
Implements the protocol for changing a setting value triggered by an AVS directive.
| applyChange | Function that can be used to apply the new value. | 
| revertChange | Function that can be used to revert the change. This function should only be called if the apply change succeeded but some other part of the protocol has failed. | 
| notifyObservers | Function used to notify the observers of the protocol result. | 
true if the directive was enqueued correctly; false otherwise. Implements alexaClientSDK::settings::SettingProtocolInterface.
      
  | 
  overridevirtual | 
Clear the data for this setting.
true if it data is cleared;  otherwise. Implements alexaClientSDK::settings::SettingProtocolInterface.
      
  | 
  static | 
Create a cloud controlled protocol object.
| metadata | Specifies the parameters used to construct setting changed and report event. | 
| eventSender | Object used to send events to AVS in order to report changes from the device. | 
| settingStorage | The setting storage object. | 
| connectionManager | An AVSConnectionManagerInterface instance to listen for connection status updates.  | 
| metricRecorder | An MetricRecorderInterface instance to log metrics.  | 
CloudControlledSettingProtocol object if it succeeds; nullptr otherwise. 
      
  | 
  overridevirtual | 
Implements the protocol for changing a setting value through local UI.
| applyChange | Function that can be used to apply the new value. | 
| revertChange | Function that can be used to revert the change. This function should only be called if the apply change succeeded but some other part of the protocol has failed. | 
| notifyObservers | Function used to notify the observers of the protocol result. | 
Implements alexaClientSDK::settings::SettingProtocolInterface.
      
  | 
  overridevirtual | 
Implements the protocol for restoring a value from the storage.
| applyChange | Function that can be used to apply the value restored from the storage. This function will be called with empty string if no value was found in the database. | 
| notifyObservers | Function used to notify the observers of the protocol result. | 
true if the directive was enqueued correctly; false otherwise. Implements alexaClientSDK::settings::SettingProtocolInterface.
AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0