Alexa Auto SDK  2.3.1
CarControlConfiguration.h
1 /*
2  * Copyright 2019-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_CAR_CONTROL_CAR_CONTROL_CONFIGURATION_H
17 #define AACE_CAR_CONTROL_CAR_CONTROL_CONFIGURATION_H
18 
21 #include <string>
22 #include <vector>
23 #include "AACE/CarControl/CarControl.h"
24 #include "AACE/Core/EngineConfiguration.h"
25 
26 namespace aace {
27 namespace carControl {
28 namespace config {
29 
40 namespace zone {
41 static const std::string ALL = "zone.all";
42 static const std::string DRIVER = "zone.driver";
43 static const std::string DRIVER_ROW = "zone.driver.row";
44 static const std::string FIRST_ROW = "zone.first.row";
45 static const std::string FOURTH_ROW = "zone.fourth.row";
46 static const std::string FRONT = "zone.front";
47 static const std::string PASSENGER = "zone.passenger";
48 static const std::string PASSENGER_ROW = "zone.passenger.row";
49 static const std::string REAR = "zone.rear";
50 static const std::string REAR_DRIVER = "zone.rear.driver";
51 static const std::string REAR_PASSENGER = "zone.rear.passenger";
52 static const std::string SECOND_ROW = "zone.second.row";
53 static const std::string THIRD_ROW = "zone.third.row";
54 } // namespace zone
55 
65 namespace action {
67 static const std::string CLOSE = "Alexa.Actions.Close";
69 static const std::string LOWER = "Alexa.Actions.Lower";
71 static const std::string OPEN = "Alexa.Actions.Open";
73 static const std::string RAISE = "Alexa.Actions.Raise";
74 } // namespace action
75 
253 public:
257  static std::shared_ptr<CarControlConfiguration> create();
258 
272  virtual CarControlConfiguration& createEndpoint(const std::string& endpointId) = 0;
273 
296  virtual CarControlConfiguration& createControl(
297  const std::string& controlId,
298  const std::string& zoneId = zone::ALL) = 0;
299 
314  virtual CarControlConfiguration& addAssetId(const std::string& assetId) = 0;
315 
325  virtual CarControlConfiguration& addPowerController(bool retrievable) = 0;
326 
339  virtual CarControlConfiguration& addToggleController(const std::string& instanceId, bool retrievable) = 0;
340 
353  virtual CarControlConfiguration& addActionTurnOn(const std::vector<std::string>& actions) = 0;
354 
367  virtual CarControlConfiguration& addActionTurnOff(const std::vector<std::string>& actions) = 0;
368 
385  virtual CarControlConfiguration& addRangeController(
386  const std::string& instanceId,
387  bool retrievable,
388  double minimum,
389  double maximum,
390  double precision,
391  const std::string& unit = "") = 0;
392 
400  virtual CarControlConfiguration& addPreset(double value) = 0;
401 
416  virtual CarControlConfiguration& addActionSetRange(const std::vector<std::string>& actions, double value) = 0;
417 
432  virtual CarControlConfiguration& addActionAdjustRange(const std::vector<std::string>& actions, double delta) = 0;
433 
447  virtual CarControlConfiguration& addModeController(
448  const std::string& instanceId,
449  bool retrievable,
450  bool ordered) = 0;
451 
460  virtual CarControlConfiguration& addValue(const std::string& value) = 0;
461 
476  virtual CarControlConfiguration& addActionSetMode(
477  const std::vector<std::string>& actions,
478  const std::string& value) = 0;
479 
496  virtual CarControlConfiguration& addActionAdjustMode(const std::vector<std::string>& actions, int delta) = 0;
497 
505  virtual CarControlConfiguration& createZone(const std::string& zoneId) = 0;
506 
518  virtual CarControlConfiguration& addMembers(const std::vector<std::string>& endpointIds) = 0;
519 
529  virtual CarControlConfiguration& setDefaultZone(const std::string& zoneId) = 0;
530 
541  virtual CarControlConfiguration& addDefaultAssetsPath(const std::string& path) = 0;
542 
550  virtual CarControlConfiguration& addCustomAssetsPath(const std::string& path) = 0;
551 };
552 
553 } // namespace config
554 } // namespace carControl
555 } // namespace aace
556 
557 #endif // AACE_CAR_CONTROL_CAR_CONTROL_CONFIGURATION_H
Definition: AddressBook.h:26
Definition: EngineConfiguration.h:35
Definition: CarControlConfiguration.h:252

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