1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/medialive/MediaLive_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/medialive/model/AudioSelectorSettings.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace MediaLive 23 { 24 namespace Model 25 { 26 27 /** 28 * Audio Selector<p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/AudioSelector">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_MEDIALIVE_API AudioSelector 33 { 34 public: 35 AudioSelector(); 36 AudioSelector(Aws::Utils::Json::JsonView jsonValue); 37 AudioSelector& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 43 * identify this Selector. Selector names should be unique per input. 44 */ GetName()45 inline const Aws::String& GetName() const{ return m_name; } 46 47 /** 48 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 49 * identify this Selector. Selector names should be unique per input. 50 */ NameHasBeenSet()51 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 52 53 /** 54 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 55 * identify this Selector. Selector names should be unique per input. 56 */ SetName(const Aws::String & value)57 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 58 59 /** 60 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 61 * identify this Selector. Selector names should be unique per input. 62 */ SetName(Aws::String && value)63 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 64 65 /** 66 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 67 * identify this Selector. Selector names should be unique per input. 68 */ SetName(const char * value)69 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 70 71 /** 72 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 73 * identify this Selector. Selector names should be unique per input. 74 */ WithName(const Aws::String & value)75 inline AudioSelector& WithName(const Aws::String& value) { SetName(value); return *this;} 76 77 /** 78 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 79 * identify this Selector. Selector names should be unique per input. 80 */ WithName(Aws::String && value)81 inline AudioSelector& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 82 83 /** 84 * The name of this AudioSelector. AudioDescriptions will use this name to uniquely 85 * identify this Selector. Selector names should be unique per input. 86 */ WithName(const char * value)87 inline AudioSelector& WithName(const char* value) { SetName(value); return *this;} 88 89 90 /** 91 * The audio selector settings. 92 */ GetSelectorSettings()93 inline const AudioSelectorSettings& GetSelectorSettings() const{ return m_selectorSettings; } 94 95 /** 96 * The audio selector settings. 97 */ SelectorSettingsHasBeenSet()98 inline bool SelectorSettingsHasBeenSet() const { return m_selectorSettingsHasBeenSet; } 99 100 /** 101 * The audio selector settings. 102 */ SetSelectorSettings(const AudioSelectorSettings & value)103 inline void SetSelectorSettings(const AudioSelectorSettings& value) { m_selectorSettingsHasBeenSet = true; m_selectorSettings = value; } 104 105 /** 106 * The audio selector settings. 107 */ SetSelectorSettings(AudioSelectorSettings && value)108 inline void SetSelectorSettings(AudioSelectorSettings&& value) { m_selectorSettingsHasBeenSet = true; m_selectorSettings = std::move(value); } 109 110 /** 111 * The audio selector settings. 112 */ WithSelectorSettings(const AudioSelectorSettings & value)113 inline AudioSelector& WithSelectorSettings(const AudioSelectorSettings& value) { SetSelectorSettings(value); return *this;} 114 115 /** 116 * The audio selector settings. 117 */ WithSelectorSettings(AudioSelectorSettings && value)118 inline AudioSelector& WithSelectorSettings(AudioSelectorSettings&& value) { SetSelectorSettings(std::move(value)); return *this;} 119 120 private: 121 122 Aws::String m_name; 123 bool m_nameHasBeenSet; 124 125 AudioSelectorSettings m_selectorSettings; 126 bool m_selectorSettingsHasBeenSet; 127 }; 128 129 } // namespace Model 130 } // namespace MediaLive 131 } // namespace Aws 132