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/AWSVector.h> 9 #include <aws/medialive/model/AudioTrack.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 Track Selection<p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/AudioTrackSelection">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_MEDIALIVE_API AudioTrackSelection 33 { 34 public: 35 AudioTrackSelection(); 36 AudioTrackSelection(Aws::Utils::Json::JsonView jsonValue); 37 AudioTrackSelection& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * Selects one or more unique audio tracks from within a source. 43 */ GetTracks()44 inline const Aws::Vector<AudioTrack>& GetTracks() const{ return m_tracks; } 45 46 /** 47 * Selects one or more unique audio tracks from within a source. 48 */ TracksHasBeenSet()49 inline bool TracksHasBeenSet() const { return m_tracksHasBeenSet; } 50 51 /** 52 * Selects one or more unique audio tracks from within a source. 53 */ SetTracks(const Aws::Vector<AudioTrack> & value)54 inline void SetTracks(const Aws::Vector<AudioTrack>& value) { m_tracksHasBeenSet = true; m_tracks = value; } 55 56 /** 57 * Selects one or more unique audio tracks from within a source. 58 */ SetTracks(Aws::Vector<AudioTrack> && value)59 inline void SetTracks(Aws::Vector<AudioTrack>&& value) { m_tracksHasBeenSet = true; m_tracks = std::move(value); } 60 61 /** 62 * Selects one or more unique audio tracks from within a source. 63 */ WithTracks(const Aws::Vector<AudioTrack> & value)64 inline AudioTrackSelection& WithTracks(const Aws::Vector<AudioTrack>& value) { SetTracks(value); return *this;} 65 66 /** 67 * Selects one or more unique audio tracks from within a source. 68 */ WithTracks(Aws::Vector<AudioTrack> && value)69 inline AudioTrackSelection& WithTracks(Aws::Vector<AudioTrack>&& value) { SetTracks(std::move(value)); return *this;} 70 71 /** 72 * Selects one or more unique audio tracks from within a source. 73 */ AddTracks(const AudioTrack & value)74 inline AudioTrackSelection& AddTracks(const AudioTrack& value) { m_tracksHasBeenSet = true; m_tracks.push_back(value); return *this; } 75 76 /** 77 * Selects one or more unique audio tracks from within a source. 78 */ AddTracks(AudioTrack && value)79 inline AudioTrackSelection& AddTracks(AudioTrack&& value) { m_tracksHasBeenSet = true; m_tracks.push_back(std::move(value)); return *this; } 80 81 private: 82 83 Aws::Vector<AudioTrack> m_tracks; 84 bool m_tracksHasBeenSet; 85 }; 86 87 } // namespace Model 88 } // namespace MediaLive 89 } // namespace Aws 90