Alexa Auto SDK  2.3.0
AlexaConfiguration.h
1 /*
2  * Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0/
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 #ifndef AACE_ALEXA_ALEXA_CONFIGURATION_H
17 #define AACE_ALEXA_ALEXA_CONFIGURATION_H
18 
19 #include <fstream>
20 #include <iostream>
21 #include <string>
22 #include <vector>
23 #include <sstream>
24 #include <memory>
25 #include <chrono>
26 
27 #include "AACE/Core/EngineConfiguration.h"
28 #include "AlexaEngineInterfaces.h"
29 
32 namespace aace {
33 namespace alexa {
34 namespace config {
35 
40 public:
65  static std::shared_ptr<aace::core::config::EngineConfiguration> createDeviceInfoConfig(
66  const std::string& deviceSerialNumber,
67  const std::string& clientId,
68  const std::string& productId,
69  const std::string& manufacturerName,
70  const std::string& description);
71 
89  static std::shared_ptr<aace::core::config::EngineConfiguration> createAlertsConfig(
90  const std::string& databaseFilePath);
91 
109  static std::shared_ptr<aace::core::config::EngineConfiguration> createNotificationsConfig(
110  const std::string& databaseFilePath);
111 
129  static std::shared_ptr<aace::core::config::EngineConfiguration> createCertifiedSenderConfig(
130  const std::string& databaseFilePath);
131 
149  static std::shared_ptr<aace::core::config::EngineConfiguration> createCapabilitiesDelegateConfig(
150  const std::string& databaseFilePath);
174  static std::shared_ptr<aace::core::config::EngineConfiguration> createCurlConfig(
175  const std::string& certsPath,
176  const std::string& iface = "");
177 
201  static std::shared_ptr<aace::core::config::EngineConfiguration> createSettingsConfig(
202  const std::string& databaseFilePath,
203  const std::string& locale = "en-US");
204 
235  static std::shared_ptr<aace::core::config::EngineConfiguration> createDeviceSettingsConfig(
236  const std::string& databaseFilePath,
237  const std::vector<std::string>& locales = {"en-US",
238  "en-GB",
239  "de-DE",
240  "en-IN",
241  "en-CA",
242  "ja-JP",
243  "en-AU",
244  "fr-FR",
245  "it-IT",
246  "es-ES",
247  "es-MX",
248  "fr-CA",
249  "es-US",
250  "hi-IN",
251  "pt-BR"},
252  const std::string& defaultLocale = "en-US",
253  const std::string& defaultTimezone = "America/Vancouver",
254  const std::vector<std::vector<std::string>>& localeCombinations = {});
255 
273  static std::shared_ptr<aace::core::config::EngineConfiguration> createMiscStorageConfig(
274  const std::string& databaseFilePath);
275 
293  static std::shared_ptr<aace::core::config::EngineConfiguration> createSpeakerManagerConfig(bool enabled);
294 
312  static std::shared_ptr<aace::core::config::EngineConfiguration> createSystemConfig(uint32_t firmwareVersion);
313 
333  static std::shared_ptr<aace::core::config::EngineConfiguration> createSpeechRecognizerConfig(
334  const std::string& encoderName);
335 
344 
349 
354 
355  };
356 
360  using TemplateRuntimeTimeout = std::pair<TemplateRuntimeTimeoutType, std::chrono::milliseconds>;
361 
386  static std::shared_ptr<aace::core::config::EngineConfiguration> createTemplateRuntimeTimeoutConfig(
387  const std::vector<TemplateRuntimeTimeout>& timeoutList);
388 
406  static std::shared_ptr<aace::core::config::EngineConfiguration> createExternalMediaPlayerConfig(
407  const std::string& agent);
408 
415 
423 
481  static std::shared_ptr<aace::core::config::EngineConfiguration> createEqualizerControllerConfig(
482  const std::vector<EqualizerBand>& supportedBands = {},
483  int minLevel = -6,
484  int maxLevel = 6,
485  const std::vector<EqualizerBandLevel>& defaultBandLevels = {});
486 };
487 
488 } // namespace config
489 } // namespace alexa
490 } // namespace aace
491 
492 #endif // AACE_ALEXA_ALEXA_CONFIGURATION_H
Definition: AlexaConfiguration.h:39
TemplateRuntimeTimeoutType
Definition: AlexaConfiguration.h:339
static std::shared_ptr< aace::core::config::EngineConfiguration > createMiscStorageConfig(const std::string &databaseFilePath)
static std::shared_ptr< aace::core::config::EngineConfiguration > createDeviceInfoConfig(const std::string &deviceSerialNumber, const std::string &clientId, const std::string &productId, const std::string &manufacturerName, const std::string &description)
aace::alexa::EqualizerControllerEngineInterface::EqualizerBandLevel EqualizerBandLevel
Definition: AlexaConfiguration.h:422
Definition: AddressBook.h:26
static std::shared_ptr< aace::core::config::EngineConfiguration > createExternalMediaPlayerConfig(const std::string &agent)
static std::shared_ptr< aace::core::config::EngineConfiguration > createAlertsConfig(const std::string &databaseFilePath)
std::pair< TemplateRuntimeTimeoutType, std::chrono::milliseconds > TemplateRuntimeTimeout
Definition: AlexaConfiguration.h:360
std::pair< EqualizerBand, int > EqualizerBandLevel
Definition: AlexaEngineInterfaces.h:462
static std::shared_ptr< aace::core::config::EngineConfiguration > createSystemConfig(uint32_t firmwareVersion)
static std::shared_ptr< aace::core::config::EngineConfiguration > createTemplateRuntimeTimeoutConfig(const std::vector< TemplateRuntimeTimeout > &timeoutList)
static std::shared_ptr< aace::core::config::EngineConfiguration > createSpeechRecognizerConfig(const std::string &encoderName)
static std::shared_ptr< aace::core::config::EngineConfiguration > createEqualizerControllerConfig(const std::vector< EqualizerBand > &supportedBands={}, int minLevel=-6, int maxLevel=6, const std::vector< EqualizerBandLevel > &defaultBandLevels={})
static std::shared_ptr< aace::core::config::EngineConfiguration > createCertifiedSenderConfig(const std::string &databaseFilePath)
static std::shared_ptr< aace::core::config::EngineConfiguration > createSettingsConfig(const std::string &databaseFilePath, const std::string &locale="en-US")
static std::shared_ptr< aace::core::config::EngineConfiguration > createCurlConfig(const std::string &certsPath, const std::string &iface="")
static std::shared_ptr< aace::core::config::EngineConfiguration > createSpeakerManagerConfig(bool enabled)
static std::shared_ptr< aace::core::config::EngineConfiguration > createDeviceSettingsConfig(const std::string &databaseFilePath, const std::vector< std::string > &locales={"en-US", "en-GB", "de-DE", "en-IN", "en-CA", "ja-JP", "en-AU", "fr-FR", "it-IT", "es-ES", "es-MX", "fr-CA", "es-US", "hi-IN", "pt-BR"}, const std::string &defaultLocale="en-US", const std::string &defaultTimezone="America/Vancouver", const std::vector< std::vector< std::string >> &localeCombinations={})
EqualizerBand
Definition: AlexaEngineInterfaces.h:449
static std::shared_ptr< aace::core::config::EngineConfiguration > createNotificationsConfig(const std::string &databaseFilePath)
static std::shared_ptr< aace::core::config::EngineConfiguration > createCapabilitiesDelegateConfig(const std::string &databaseFilePath)

Alexa Auto SDK 2.3.0 - Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0