16 #ifndef ACSDKPREVIEWALEXACLIENT_PREVIEWALEXACLIENT_H_
17 #define ACSDKPREVIEWALEXACLIENT_PREVIEWALEXACLIENT_H_
23 #include <unordered_map>
49 #ifdef GSTREAMER_MEDIA_PLAYER
51 #elif defined(ANDROID_MEDIA_PLAYER)
56 namespace acsdkPreviewAlexaClient {
83 static std::unique_ptr<PreviewAlexaClient>
create(
84 std::shared_ptr<alexaClientSDK::sampleApp::ConsoleReader> consoleReader,
85 const std::vector<std::string>& configFiles,
86 const std::string& logLevel =
"",
87 std::shared_ptr<avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface> diagnostics =
nullptr);
104 bool initiateRestart();
122 std::shared_ptr<alexaClientSDK::sampleApp::ConsoleReader> consoleReader,
123 const std::vector<std::string>& configFiles,
124 const std::string& logLevel,
125 std::shared_ptr<avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface> diagnostics);
136 std::shared_ptr<avsCommon::sdkInterfaces::ApplicationMediaInterfaces> createApplicationMediaPlayer(
137 const std::shared_ptr<avsCommon::sdkInterfaces::HTTPContentFetcherInterfaceFactoryInterface>&
138 httpContentFetcherFactory,
139 bool enableEqualizer,
140 const std::string& name,
141 bool enableLiveMode =
false);
143 #ifdef ENABLE_ENDPOINT_CONTROLLERS
152 bool addControllersToDefaultEndpoint(
153 std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointBuilderInterface> defaultEndpointBuilder);
162 bool addControllersToPeripheralEndpoint(
163 std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointBuilderInterface> peripheralEndpointBuilder);
165 std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownManagerInterface> m_shutdownManager;
169 std::shared_ptr<avsCommon::avs::initialization::AlexaClientSDKInit> m_sdkInit;
172 std::shared_ptr<sampleApp::InteractionManager> m_interactionManager;
175 std::shared_ptr<sampleApp::UserInputManager> m_userInputManager;
178 std::shared_ptr<sampleApp::GuiRenderer> m_guiRenderer;
181 std::vector<std::shared_ptr<avsCommon::utils::RequiresShutdown>> m_shutdownRequiredList;
183 #ifdef ENABLE_COMMS_AUDIO_PROXY
184 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_commsMediaPlayer;
189 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_phoneMediaPlayer;
194 std::shared_ptr<avsCommon::sdkInterfaces::CapabilitiesDelegateInterface> m_capabilitiesDelegate;
197 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_ringtoneMediaPlayer;
200 std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector> m_keywordDetector;
202 #if defined(ANDROID_MEDIA_PLAYER) || defined(ANDROID_MICROPHONE)
203 std::shared_ptr<applicationUtilities::androidUtilities::AndroidSLESEngine> m_openSlEngine;
207 #ifdef POWER_CONTROLLER
208 std::shared_ptr<sampleApp::PeripheralEndpointPowerControllerHandler> m_peripheralEndpointPowerHandler;
212 #ifdef TOGGLE_CONTROLLER
213 std::shared_ptr<sampleApp::PeripheralEndpointToggleControllerHandler> m_peripheralEndpointToggleHandler;
217 #ifdef RANGE_CONTROLLER
218 std::shared_ptr<sampleApp::PeripheralEndpointRangeControllerHandler> m_peripheralEndpointRangeHandler;
222 #ifdef MODE_CONTROLLER
223 std::shared_ptr<sampleApp::PeripheralEndpointModeControllerHandler> m_peripheralEndpointModeHandler;
228 std::shared_ptr<acsdkAuthorization::AuthorizationManager> m_authManager;
232 std::shared_ptr<acsdkAuthorization::lwa::LWAAuthorizationAdapter> m_lwaAdapter;
239 #endif // ACSDKPREVIEWALEXACLIENT_PREVIEWALEXACLIENT_H_