AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Container.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/mediaconvert/MediaConvert_EXPORTS.h>
9#include <aws/mediaconvert/model/Format.h>
10#include <aws/mediaconvert/model/Track.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace MediaConvert {
22namespace Model {
23
31class Container {
32 public:
33 AWS_MEDIACONVERT_API Container() = default;
34 AWS_MEDIACONVERT_API Container(Aws::Utils::Json::JsonView jsonValue);
35 AWS_MEDIACONVERT_API Container& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline double GetDuration() const { return m_duration; }
43 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
44 inline void SetDuration(double value) {
45 m_durationHasBeenSet = true;
46 m_duration = value;
47 }
48 inline Container& WithDuration(double value) {
49 SetDuration(value);
50 return *this;
51 }
53
55
60 inline Format GetFormat() const { return m_format; }
61 inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; }
62 inline void SetFormat(Format value) {
63 m_formatHasBeenSet = true;
64 m_format = value;
65 }
66 inline Container& WithFormat(Format value) {
67 SetFormat(value);
68 return *this;
69 }
71
73
76 inline const Aws::Vector<Track>& GetTracks() const { return m_tracks; }
77 inline bool TracksHasBeenSet() const { return m_tracksHasBeenSet; }
78 template <typename TracksT = Aws::Vector<Track>>
79 void SetTracks(TracksT&& value) {
80 m_tracksHasBeenSet = true;
81 m_tracks = std::forward<TracksT>(value);
82 }
83 template <typename TracksT = Aws::Vector<Track>>
84 Container& WithTracks(TracksT&& value) {
85 SetTracks(std::forward<TracksT>(value));
86 return *this;
87 }
88 template <typename TracksT = Track>
89 Container& AddTracks(TracksT&& value) {
90 m_tracksHasBeenSet = true;
91 m_tracks.emplace_back(std::forward<TracksT>(value));
92 return *this;
93 }
95 private:
96 double m_duration{0.0};
97
98 Format m_format{Format::NOT_SET};
99
100 Aws::Vector<Track> m_tracks;
101 bool m_durationHasBeenSet = false;
102 bool m_formatHasBeenSet = false;
103 bool m_tracksHasBeenSet = false;
104};
105
106} // namespace Model
107} // namespace MediaConvert
108} // namespace Aws
const Aws::Vector< Track > & GetTracks() const
Definition Container.h:76
Container & WithFormat(Format value)
Definition Container.h:66
void SetTracks(TracksT &&value)
Definition Container.h:79
AWS_MEDIACONVERT_API Container()=default
AWS_MEDIACONVERT_API Container & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_MEDIACONVERT_API Container(Aws::Utils::Json::JsonView jsonValue)
Container & WithDuration(double value)
Definition Container.h:48
Container & WithTracks(TracksT &&value)
Definition Container.h:84
Container & AddTracks(TracksT &&value)
Definition Container.h:89
AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue