16 #ifndef SAMPLEAPP_LOCALEASSETSMANAGER_H_ 17 #define SAMPLEAPP_LOCALEASSETSMANAGER_H_ 23 #include <unordered_set> 42 #if defined(KWD) && defined(ASSET_MANAGER) 43 using namespace acsdkAssets::manager;
62 static std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsManagerInterface> createLocaleAssetsManagerInterface(
63 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
64 const std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownNotifierInterface>& shutdownNotifier);
72 static std::shared_ptr<LocaleAssetsManager> createLocaleAssetsManager(
73 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode);
81 static std::shared_ptr<LocaleAssetsManager> create(
bool enableWakeWord);
85 bool changeAssets(
const Locales& locales,
const WakeWords& wakeWords)
override;
86 void cancelOngoingChange()
override;
88 std::map<LanguageTag, WakeWordsSets> getLanguageSpecificWakeWords()
const override;
89 std::map<Locale, WakeWordsSets> getLocaleSpecificWakeWords()
const override;
91 std::set<Locale> getSupportedLocales()
const override;
93 Locale getDefaultLocale()
const override;
94 Locales getDefaultLocales()
const override;
95 void addLocaleAssetsObserver(
96 const std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::LocaleAssetsObserverInterface>& observer)
98 void removeLocaleAssetsObserver(
99 const std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::LocaleAssetsObserverInterface>& observer)
102 void setEndpointRegistrationManager(
103 const std::shared_ptr<
110 void doShutdown()
override;
126 static std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsManagerInterface>
127 createLocaleAssetsManagerInterfaceWithKwdAndDavs(
128 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
129 const std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownNotifierInterface>& shutdownNotifier,
130 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
131 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
132 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector,
133 const std::shared_ptr<AssetManager>& assetManager);
145 static std::shared_ptr<LocaleAssetsManager> createLocaleAssetsManagerWithKwdAndDavs(
146 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
147 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
148 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
149 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector,
150 const std::shared_ptr<AssetManager>& assetManager);
162 static std::shared_ptr<avsCommon::sdkInterfaces::LocaleAssetsManagerInterface>
163 createLocaleAssetsManagerInterfaceWithKwd(
164 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
165 const std::shared_ptr<acsdkShutdownManagerInterfaces::ShutdownNotifierInterface>& shutdownNotifier,
166 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
167 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
168 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector);
179 static std::shared_ptr<LocaleAssetsManager> createLocaleAssetsManagerWithKwd(
180 const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode,
181 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
182 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
183 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector);
185 void setDefaultClient(
const std::shared_ptr<defaultClient::DefaultClient>& defaultClient);
204 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
205 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
206 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector,
207 const std::shared_ptr<AssetManager>& assetManager);
217 const std::shared_ptr<avsCommon::avs::AudioInputStream>& audioInputStream,
218 const std::shared_ptr<avsCommon::utils::AudioFormat>& audioFormat,
219 const std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector>& keywordDetector);
228 bool initialize(
const std::shared_ptr<avsCommon::utils::configuration::ConfigurationNode>& configurationNode);
243 std::set<Locale> m_supportedLocales;
255 const std::shared_ptr<avsCommon::avs::AudioInputStream> m_audioInputStream;
258 const std::shared_ptr<avsCommon::utils::AudioFormat> m_audioFormat;
261 std::mutex m_defaultClientMutex;
264 std::mutex m_keywordDetectorMutex;
269 std::shared_ptr<defaultClient::DefaultClient> m_DefaultClient;
272 std::shared_ptr<acsdkKWDImplementations::AbstractKeywordDetector> m_keywordDetector;
274 std::shared_ptr<AssetManager> m_assetManager;
280 mutable std::mutex m_observersMutex;
283 std::mutex m_ermMutex;
288 std::unordered_set<std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::LocaleAssetsObserverInterface>>
292 std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface>
293 m_endpointRegistrationManager;
299 #endif // SAMPLEAPP_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: LocaleAssetsManagerInterface.h:40
std::vector< Locale > Locales
Definition: LocaleAssetsManagerInterface.h:68
Definition: EndpointRegistrationManagerInterface.h:39
std::string Locale
Alias for the locale type.
Definition: DeviceSettingsManager.h:34
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
std::set< WakeWords > WakeWordsSets
Definition: LocaleAssetsManagerInterface.h:62
Definition: LocaleAssetsManager.h:51
Definition: CapabilityConfiguration.h:42