16 #ifndef ACSDK_SAMPLE_ENDPOINT_ENDPOINTFOCUSADAPTER_H_ 17 #define ACSDK_SAMPLE_ENDPOINT_ENDPOINTFOCUSADAPTER_H_ 30 namespace sampleApplications {
38 ,
public std::enable_shared_from_this<EndpointFocusAdapter> {
50 static std::shared_ptr<EndpointFocusAdapter>
create(
51 std::shared_ptr<avsCommon::sdkInterfaces::FocusManagerInterface> focusManager,
52 std::shared_ptr<presentationOrchestratorInterfaces::PresentationOrchestratorInterface> presentationOrchestrator,
53 std::shared_ptr<presentationOrchestratorInterfaces::PresentationOrchestratorStateTrackerInterface>
54 presentationOrchestratorStateTracker);
84 std::shared_ptr<avsCommon::sdkInterfaces::FocusManagerInterface> focusManager,
85 std::shared_ptr<presentationOrchestratorInterfaces::PresentationOrchestratorInterface> presentationOrchestrator,
86 std::shared_ptr<presentationOrchestratorInterfaces::PresentationOrchestratorStateTrackerInterface>
87 presentationOrchestratorStateTracker);
92 void executeAcquireContentChannel();
97 void executeReleaseContentChannel();
102 void executeAcquireWindow();
107 void executeReleaseWindow();
112 struct FocusAcquireInterfaceAndCallback {
132 using FocusAcquireInterfaceAndCallbackPtr = std::shared_ptr<FocusAcquireInterfaceAndCallback>;
135 std::shared_ptr<avsCommon::sdkInterfaces::FocusManagerInterface> m_focusManager;
138 std::shared_ptr<presentationOrchestratorInterfaces::PresentationOrchestratorInterface> m_presentationOrchestrator;
141 std::shared_ptr<presentationOrchestratorInterfaces::PresentationOrchestratorStateTrackerInterface>
142 m_presentationOrchestratorStateTracker;
145 FocusAcquireInterfaceAndCallbackPtr m_focusAcquirePtr;
148 std::shared_ptr<avsCommon::utils::threading::Executor> m_executor;
155 #endif // ACSDK_SAMPLE_ENDPOINT_ENDPOINTFOCUSADAPTER_H_ Definition: EndpointFocusAdapter.h:36
MixingBehavior
Definition: MixingBehavior.h:25
std::function< void(void)> FocusAcquiredCallback
Definition: EndpointFocusAdapter.h:40
::std::string string
Definition: gtest-port.h:1097
void onFocusChanged(avsCommon::avs::FocusState focusState, avsCommon::avs::MixingBehavior behavior) override
virtual ~EndpointFocusAdapter()=default
FocusState
Definition: FocusState.h:29
void acquireFocus(const std::string &interfaceName, FocusAcquiredCallback callback)
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
Definition: ChannelObserverInterface.h:29
static std::shared_ptr< EndpointFocusAdapter > create(std::shared_ptr< avsCommon::sdkInterfaces::FocusManagerInterface > focusManager, std::shared_ptr< presentationOrchestratorInterfaces::PresentationOrchestratorInterface > presentationOrchestrator, std::shared_ptr< presentationOrchestratorInterfaces::PresentationOrchestratorStateTrackerInterface > presentationOrchestratorStateTracker)
const T & move(const T &t)
Definition: gtest-port.h:1317