AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Classes | Public Member Functions | List of all members
alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T > Class Template Reference

#include <InMemoryCommunicationPropertiesHandler.h>

Inheritance diagram for alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >:
Collaboration graph
[legend]

Classes

class  WeakSubscriptionProxy
 

Public Member Functions

 ~InMemoryCommunicationPropertiesHandler () override=default
 
- Public Member Functions inherited from alexaClientSDK::acsdkCommunicationInterfaces::CommunicationPropertiesHandlerInterface< T >
virtual ~CommunicationPropertiesHandlerInterface ()=default
 
virtual std::shared_ptr< CommunicationProperty< T > > registerProperty (const std::string &propertyName, T initValue, const std::shared_ptr< CommunicationPropertyValidatorInterface< T >> &writeValidator=nullptr)=0
 
virtual void deregisterProperty (const std::string &propertyName, const std::shared_ptr< CommunicationProperty< T >> &property)=0
 
virtual bool subscribeToPropertyChangeEvent (const std::string &propertyName, const std::weak_ptr< CommunicationPropertyChangeSubscriber< T >> &subscriber)=0
 
virtual bool unsubscribeToPropertyChangeEvent (const std::string &propertyName, const std::shared_ptr< CommunicationPropertyChangeSubscriber< T >> &subscriber)=0
 

CommunicationPropertiesHandlerInterface methods

std::shared_ptr< acsdkCommunicationInterfaces::CommunicationProperty< T > > registerProperty (const std::string &propertyName, T initValue, const std::shared_ptr< acsdkCommunicationInterfaces::CommunicationPropertyValidatorInterface< T >> &writeValidator=nullptr) override
 }@ More...
 
void deregisterProperty (const std::string &propertyName, const std::shared_ptr< acsdkCommunicationInterfaces::CommunicationProperty< T >> &property) override
 }@ More...
 
bool writeProperty (const std::string &propertyName, T newValue) override
 }@ More...
 
bool readProperty (const std::string &propertyName, T &value) override
 }@ More...
 
bool subscribeToPropertyChangeEvent (const std::string &propertyName, const std::weak_ptr< acsdkCommunicationInterfaces::CommunicationPropertyChangeSubscriber< T >> &subscriber) override
 }@ More...
 
bool unsubscribeToPropertyChangeEvent (const std::string &propertyName, const std::shared_ptr< acsdkCommunicationInterfaces::CommunicationPropertyChangeSubscriber< T >> &subscriber) override
 }@ More...
 

Detailed Description

template<typename T>
class alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >

This is the in memory implementation of the CommunicationPropertiesHandlerInterface. This is a thread safe class that provides users the ability to register properties.

Constructor & Destructor Documentation

◆ ~InMemoryCommunicationPropertiesHandler()

Default destructor

Member Function Documentation

◆ deregisterProperty()

template<typename T>
void alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >::deregisterProperty ( const std::string &  propertyName,
const std::shared_ptr< acsdkCommunicationInterfaces::CommunicationProperty< T >> &  property 
)
override

}@

◆ readProperty()

template<typename T>
bool alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >::readProperty ( const std::string &  propertyName,
T &  value 
)
overridevirtual

◆ registerProperty()

template<typename T>
std::shared_ptr< acsdkCommunicationInterfaces::CommunicationProperty< T > > alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >::registerProperty ( const std::string &  propertyName,
initValue,
const std::shared_ptr< acsdkCommunicationInterfaces::CommunicationPropertyValidatorInterface< T >> &  writeValidator = nullptr 
)
override

}@

◆ subscribeToPropertyChangeEvent()

template<typename T>
bool alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >::subscribeToPropertyChangeEvent ( const std::string &  propertyName,
const std::weak_ptr< acsdkCommunicationInterfaces::CommunicationPropertyChangeSubscriber< T >> &  subscriber 
)
override

}@

◆ unsubscribeToPropertyChangeEvent()

template<typename T>
bool alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >::unsubscribeToPropertyChangeEvent ( const std::string &  propertyName,
const std::shared_ptr< acsdkCommunicationInterfaces::CommunicationPropertyChangeSubscriber< T >> &  subscriber 
)
override

}@

◆ writeProperty()

template<typename T>
bool alexaClientSDK::acsdkCommunication::InMemoryCommunicationPropertiesHandler< T >::writeProperty ( const std::string &  propertyName,
newValue 
)
overridevirtual

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