16 #ifndef ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_SAMPLEAPPLICATION_H_ 17 #define ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_SAMPLEAPPLICATION_H_ 23 #include <unordered_map> 47 #ifdef GSTREAMER_MEDIA_PLAYER 49 #elif defined(UWP_BUILD) 50 #include <SSSDKCommon/TestMediaPlayer.h> 51 #endif // GSTREAMER_MEDIA_PLAYER 62 namespace sampleApplications {
63 namespace ipcServerSampleApp {
77 static std::unique_ptr<SampleApplication>
create(
78 const std::vector<std::string>& configFiles,
80 std::shared_ptr<avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface> diagnostics =
nullptr);
92 std::shared_ptr<gui::GUIClient> getGUIClient() {
96 std::shared_ptr<gui::GUIManager> getGUIManager() {
109 const std::shared_ptr<avsCommon::sdkInterfaces::HTTPContentFetcherInterfaceFactoryInterface>&
110 httpContentFetcherFactory,
111 const std::shared_ptr<defaultClient::EqualizerRuntimeSetup> equalizerRuntimeSetup);
159 const std::vector<std::string>& configFiles,
161 std::shared_ptr<avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface> diagnostics);
172 std::shared_ptr<avsCommon::sdkInterfaces::ApplicationMediaInterfaces> createApplicationMediaPlayer(
173 const std::shared_ptr<avsCommon::sdkInterfaces::HTTPContentFetcherInterfaceFactoryInterface>&
174 httpContentFetcherFactory,
175 bool enableEqualizer,
177 bool enableLiveMode =
false);
180 std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownManagerInterface> m_shutdownManager;
183 std::shared_ptr<avsCommon::avs::initialization::AlexaClientSDKInit> m_sdkInit;
186 std::shared_ptr<sdkClient::SDKClientRegistry> m_clientRegistry;
189 std::shared_ptr<defaultClient::DefaultClient> m_defaultClient;
192 std::shared_ptr<common::InteractionManager> m_interactionManager;
195 std::shared_ptr<gui::GUIClient> m_guiClient;
198 std::shared_ptr<gui::GUIManager> m_guiManager;
201 std::shared_ptr<AplClientBridge> m_aplClientBridge;
204 std::shared_ptr<gui::GUIActivityEventNotifier> m_activityEventNotifier;
207 std::shared_ptr<ipc::TemplateRuntimeHandler> m_templateRuntimeIPCHandler;
210 std::shared_ptr<ipc::AlexaCaptionsHandler> m_alexaCaptionIPCHandler;
213 std::unordered_map<std::string, std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface>>
214 m_externalMusicProviderMediaPlayersMap;
217 std::unordered_map<std::string, std::shared_ptr<avsCommon::sdkInterfaces::SpeakerInterface>>
218 m_externalMusicProviderSpeakersMap;
221 std::vector<std::shared_ptr<avsCommon::utils::RequiresShutdown>> m_shutdownRequiredList;
224 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_speakMediaPlayer;
227 std::vector<std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface>> m_audioMediaPlayerPool;
230 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_alertsMediaPlayer;
233 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_notificationsMediaPlayer;
236 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_bluetoothMediaPlayer;
239 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_systemSoundMediaPlayer;
241 #ifdef ENABLE_COMMS_AUDIO_PROXY 242 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_commsMediaPlayer;
247 std::shared_ptr<capabilitiesDelegate::CapabilitiesDelegate> m_capabilitiesDelegate;
250 std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> m_ringtoneMediaPlayer;
253 static std::unordered_map<std::string, avsCommon::sdkInterfaces::ChannelVolumeInterface::Type>
254 m_playerToSpeakerTypeMap;
260 std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector> m_keywordDetector;
265 std::shared_ptr<acsdkAuthorization::AuthorizationManager> m_authManager;
268 std::shared_ptr<acsdkAuthorization::lwa::LWAAuthorizationAdapter> m_lwaAdapter;
277 #endif // ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_SAMPLEAPPLICATION_H_
SampleAppReturnCode run()
AdapterRegistration(const std::string &playerId, acsdkExternalMediaPlayer::ExternalMediaPlayer::AdapterCreateFunction createFunction)
::std::string string
Definition: gtest-port.h:1097
Type
Definition: ChannelVolumeInterface.h:37
static std::unique_ptr< SampleApplication > create(const std::vector< std::string > &configFiles, const std::string &logLevel="", std::shared_ptr< avsCommon::sdkInterfaces::diagnostics::DiagnosticsInterface > diagnostics=nullptr)
bool createMediaPlayersForAdapters(const std::shared_ptr< avsCommon::sdkInterfaces::HTTPContentFetcherInterfaceFactoryInterface > &httpContentFetcherFactory, const std::shared_ptr< defaultClient::EqualizerRuntimeSetup > equalizerRuntimeSetup)
Class to manage the top-level components of the AVS Client Application.
Definition: SampleApplication.h:66
Definition: SampleApplication.h:117
~SampleApplication()
Destructor which manages the SampleApplication shutdown sequence.
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
SampleAppReturnCode
Definition: SampleApplicationReturnCodes.h:25