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/medialive/model/AudioOnlyHlsSettings.h>
9 #include <aws/medialive/model/Fmp4HlsSettings.h>
10 #include <aws/medialive/model/FrameCaptureHlsSettings.h>
11 #include <aws/medialive/model/StandardHlsSettings.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace MediaLive
25 {
26 namespace Model
27 {
28 
29   /**
30    * Hls Settings<p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/HlsSettings">AWS
32    * API Reference</a></p>
33    */
34   class AWS_MEDIALIVE_API HlsSettings
35   {
36   public:
37     HlsSettings();
38     HlsSettings(Aws::Utils::Json::JsonView jsonValue);
39     HlsSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43 
GetAudioOnlyHlsSettings()44     inline const AudioOnlyHlsSettings& GetAudioOnlyHlsSettings() const{ return m_audioOnlyHlsSettings; }
45 
46 
AudioOnlyHlsSettingsHasBeenSet()47     inline bool AudioOnlyHlsSettingsHasBeenSet() const { return m_audioOnlyHlsSettingsHasBeenSet; }
48 
49 
SetAudioOnlyHlsSettings(const AudioOnlyHlsSettings & value)50     inline void SetAudioOnlyHlsSettings(const AudioOnlyHlsSettings& value) { m_audioOnlyHlsSettingsHasBeenSet = true; m_audioOnlyHlsSettings = value; }
51 
52 
SetAudioOnlyHlsSettings(AudioOnlyHlsSettings && value)53     inline void SetAudioOnlyHlsSettings(AudioOnlyHlsSettings&& value) { m_audioOnlyHlsSettingsHasBeenSet = true; m_audioOnlyHlsSettings = std::move(value); }
54 
55 
WithAudioOnlyHlsSettings(const AudioOnlyHlsSettings & value)56     inline HlsSettings& WithAudioOnlyHlsSettings(const AudioOnlyHlsSettings& value) { SetAudioOnlyHlsSettings(value); return *this;}
57 
58 
WithAudioOnlyHlsSettings(AudioOnlyHlsSettings && value)59     inline HlsSettings& WithAudioOnlyHlsSettings(AudioOnlyHlsSettings&& value) { SetAudioOnlyHlsSettings(std::move(value)); return *this;}
60 
61 
62 
GetFmp4HlsSettings()63     inline const Fmp4HlsSettings& GetFmp4HlsSettings() const{ return m_fmp4HlsSettings; }
64 
65 
Fmp4HlsSettingsHasBeenSet()66     inline bool Fmp4HlsSettingsHasBeenSet() const { return m_fmp4HlsSettingsHasBeenSet; }
67 
68 
SetFmp4HlsSettings(const Fmp4HlsSettings & value)69     inline void SetFmp4HlsSettings(const Fmp4HlsSettings& value) { m_fmp4HlsSettingsHasBeenSet = true; m_fmp4HlsSettings = value; }
70 
71 
SetFmp4HlsSettings(Fmp4HlsSettings && value)72     inline void SetFmp4HlsSettings(Fmp4HlsSettings&& value) { m_fmp4HlsSettingsHasBeenSet = true; m_fmp4HlsSettings = std::move(value); }
73 
74 
WithFmp4HlsSettings(const Fmp4HlsSettings & value)75     inline HlsSettings& WithFmp4HlsSettings(const Fmp4HlsSettings& value) { SetFmp4HlsSettings(value); return *this;}
76 
77 
WithFmp4HlsSettings(Fmp4HlsSettings && value)78     inline HlsSettings& WithFmp4HlsSettings(Fmp4HlsSettings&& value) { SetFmp4HlsSettings(std::move(value)); return *this;}
79 
80 
81 
GetFrameCaptureHlsSettings()82     inline const FrameCaptureHlsSettings& GetFrameCaptureHlsSettings() const{ return m_frameCaptureHlsSettings; }
83 
84 
FrameCaptureHlsSettingsHasBeenSet()85     inline bool FrameCaptureHlsSettingsHasBeenSet() const { return m_frameCaptureHlsSettingsHasBeenSet; }
86 
87 
SetFrameCaptureHlsSettings(const FrameCaptureHlsSettings & value)88     inline void SetFrameCaptureHlsSettings(const FrameCaptureHlsSettings& value) { m_frameCaptureHlsSettingsHasBeenSet = true; m_frameCaptureHlsSettings = value; }
89 
90 
SetFrameCaptureHlsSettings(FrameCaptureHlsSettings && value)91     inline void SetFrameCaptureHlsSettings(FrameCaptureHlsSettings&& value) { m_frameCaptureHlsSettingsHasBeenSet = true; m_frameCaptureHlsSettings = std::move(value); }
92 
93 
WithFrameCaptureHlsSettings(const FrameCaptureHlsSettings & value)94     inline HlsSettings& WithFrameCaptureHlsSettings(const FrameCaptureHlsSettings& value) { SetFrameCaptureHlsSettings(value); return *this;}
95 
96 
WithFrameCaptureHlsSettings(FrameCaptureHlsSettings && value)97     inline HlsSettings& WithFrameCaptureHlsSettings(FrameCaptureHlsSettings&& value) { SetFrameCaptureHlsSettings(std::move(value)); return *this;}
98 
99 
100 
GetStandardHlsSettings()101     inline const StandardHlsSettings& GetStandardHlsSettings() const{ return m_standardHlsSettings; }
102 
103 
StandardHlsSettingsHasBeenSet()104     inline bool StandardHlsSettingsHasBeenSet() const { return m_standardHlsSettingsHasBeenSet; }
105 
106 
SetStandardHlsSettings(const StandardHlsSettings & value)107     inline void SetStandardHlsSettings(const StandardHlsSettings& value) { m_standardHlsSettingsHasBeenSet = true; m_standardHlsSettings = value; }
108 
109 
SetStandardHlsSettings(StandardHlsSettings && value)110     inline void SetStandardHlsSettings(StandardHlsSettings&& value) { m_standardHlsSettingsHasBeenSet = true; m_standardHlsSettings = std::move(value); }
111 
112 
WithStandardHlsSettings(const StandardHlsSettings & value)113     inline HlsSettings& WithStandardHlsSettings(const StandardHlsSettings& value) { SetStandardHlsSettings(value); return *this;}
114 
115 
WithStandardHlsSettings(StandardHlsSettings && value)116     inline HlsSettings& WithStandardHlsSettings(StandardHlsSettings&& value) { SetStandardHlsSettings(std::move(value)); return *this;}
117 
118   private:
119 
120     AudioOnlyHlsSettings m_audioOnlyHlsSettings;
121     bool m_audioOnlyHlsSettingsHasBeenSet;
122 
123     Fmp4HlsSettings m_fmp4HlsSettings;
124     bool m_fmp4HlsSettingsHasBeenSet;
125 
126     FrameCaptureHlsSettings m_frameCaptureHlsSettings;
127     bool m_frameCaptureHlsSettingsHasBeenSet;
128 
129     StandardHlsSettings m_standardHlsSettings;
130     bool m_standardHlsSettingsHasBeenSet;
131   };
132 
133 } // namespace Model
134 } // namespace MediaLive
135 } // namespace Aws
136