16 #ifndef ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_LOCALEASSETSMANAGER_H_ 17 #define ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_LOCALEASSETSMANAGER_H_ 23 #include <unordered_set> 40 namespace sampleApplications {
41 namespace ipcServerSampleApp {
43 #if defined(KWD) && defined(ASSET_MANAGER) 44 using namespace acsdkAssets::manager;
63 static std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsManagerInterface> createLocaleAssetsManagerInterface(
64 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
65 const std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownNotifierInterface>& shutdownNotifier);
73 static std::shared_ptr<LocaleAssetsManager> createLocaleAssetsManager(
74 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode);
82 static std::shared_ptr<LocaleAssetsManager> create(
bool enableWakeWord);
86 bool changeAssets(
const Locales& locales,
const WakeWords& wakeWords)
override;
87 void cancelOngoingChange()
override;
89 std::map<LanguageTag, WakeWordsSets> getLanguageSpecificWakeWords()
const override;
90 std::map<Locale, WakeWordsSets> getLocaleSpecificWakeWords()
const override;
92 std::set<Locale> getSupportedLocales()
const override;
94 Locale getDefaultLocale()
const override;
95 Locales getDefaultLocales()
const override;
96 void addLocaleAssetsObserver(
97 const std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsObserverInterface>& observer)
override;
98 void removeLocaleAssetsObserver(
99 const std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsObserverInterface>& observer)
override;
101 void setEndpointRegistrationManager(
102 const std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface>& manager)
108 void doShutdown()
override;
124 static std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsManagerInterface>
125 createLocaleAssetsManagerInterfaceWithKwdAndDavs(
126 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
127 const std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownNotifierInterface>& shutdownNotifier,
128 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
129 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
130 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector,
131 const std::shared_ptr<AssetManager>& assetManager);
143 static std::shared_ptr<LocaleAssetsManager> createLocaleAssetsManagerWithKwdAndDavs(
144 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
145 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
146 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
147 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector,
148 const std::shared_ptr<AssetManager>& assetManager);
160 static std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsManagerInterface>
161 createLocaleAssetsManagerInterfaceWithKwd(
162 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
163 const std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownNotifierInterface>& shutdownNotifier,
164 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
165 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
166 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector);
177 static std::shared_ptr<LocaleAssetsManager> createLocaleAssetsManagerWithKwd(
178 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
179 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
180 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
181 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector);
183 void setDefaultClient(
const std::shared_ptr<defaultClient::DefaultClient>& defaultClient);
202 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
203 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
204 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector,
205 const std::shared_ptr<AssetManager>& assetManager);
215 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
216 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
217 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector);
226 bool initialize(
const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode);
241 std::set<Locale> m_supportedLocales;
253 const std::shared_ptr<avsCommon::avs::AudioInputStream> m_audioInputStream;
256 const std::shared_ptr<avsCommon::utils::AudioFormat> m_audioFormat;
259 std::mutex m_defaultClientMutex;
262 std::mutex m_keywordDetectorMutex;
267 std::shared_ptr<defaultClient::DefaultClient> m_DefaultClient;
270 std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector> m_keywordDetector;
272 std::shared_ptr<AssetManager> m_assetManager;
278 mutable std::mutex m_observersMutex;
281 std::mutex m_ermMutex;
286 std::unordered_set<std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsObserverInterface>> m_observers;
289 std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface>
290 m_endpointRegistrationManager;
297 #endif // ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_LOCALEASSETSMANAGER_H_ Definition: ConfigurationNode.h:71
std::set< Locales > LocaleCombinations
Definition: LocaleAssetsManagerInterface.h:73
Definition: RequiresShutdown.h:32
std::set< std::string > WakeWords
Definition: LocaleAssetsManagerInterface.h:57
Definition: LocaleAssetsManager.h:52
Definition: LocaleAssetsManagerInterface.h:40
std::vector< Locale > Locales
Definition: LocaleAssetsManagerInterface.h:68
std::string Locale
Definition: LocaleAssetsManagerInterface.h:46
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
std::set< WakeWords > WakeWordsSets
Definition: LocaleAssetsManagerInterface.h:62
Definition: CapabilityConfiguration.h:42