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/Scte35ArchiveAllowedFlag.h>
9 #include <aws/medialive/model/Scte35DeviceRestrictions.h>
10 #include <aws/medialive/model/Scte35NoRegionalBlackoutFlag.h>
11 #include <aws/medialive/model/Scte35WebDeliveryAllowedFlag.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    * Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare
31    * delivery restrictions, include this element and its four "restriction" flags. To
32    * declare that there are no restrictions, omit this element.<p><h3>See Also:</h3>
33    * <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Scte35DeliveryRestrictions">AWS
35    * API Reference</a></p>
36    */
37   class AWS_MEDIALIVE_API Scte35DeliveryRestrictions
38   {
39   public:
40     Scte35DeliveryRestrictions();
41     Scte35DeliveryRestrictions(Aws::Utils::Json::JsonView jsonValue);
42     Scte35DeliveryRestrictions& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * Corresponds to SCTE-35 archive_allowed_flag.
48      */
GetArchiveAllowedFlag()49     inline const Scte35ArchiveAllowedFlag& GetArchiveAllowedFlag() const{ return m_archiveAllowedFlag; }
50 
51     /**
52      * Corresponds to SCTE-35 archive_allowed_flag.
53      */
ArchiveAllowedFlagHasBeenSet()54     inline bool ArchiveAllowedFlagHasBeenSet() const { return m_archiveAllowedFlagHasBeenSet; }
55 
56     /**
57      * Corresponds to SCTE-35 archive_allowed_flag.
58      */
SetArchiveAllowedFlag(const Scte35ArchiveAllowedFlag & value)59     inline void SetArchiveAllowedFlag(const Scte35ArchiveAllowedFlag& value) { m_archiveAllowedFlagHasBeenSet = true; m_archiveAllowedFlag = value; }
60 
61     /**
62      * Corresponds to SCTE-35 archive_allowed_flag.
63      */
SetArchiveAllowedFlag(Scte35ArchiveAllowedFlag && value)64     inline void SetArchiveAllowedFlag(Scte35ArchiveAllowedFlag&& value) { m_archiveAllowedFlagHasBeenSet = true; m_archiveAllowedFlag = std::move(value); }
65 
66     /**
67      * Corresponds to SCTE-35 archive_allowed_flag.
68      */
WithArchiveAllowedFlag(const Scte35ArchiveAllowedFlag & value)69     inline Scte35DeliveryRestrictions& WithArchiveAllowedFlag(const Scte35ArchiveAllowedFlag& value) { SetArchiveAllowedFlag(value); return *this;}
70 
71     /**
72      * Corresponds to SCTE-35 archive_allowed_flag.
73      */
WithArchiveAllowedFlag(Scte35ArchiveAllowedFlag && value)74     inline Scte35DeliveryRestrictions& WithArchiveAllowedFlag(Scte35ArchiveAllowedFlag&& value) { SetArchiveAllowedFlag(std::move(value)); return *this;}
75 
76 
77     /**
78      * Corresponds to SCTE-35 device_restrictions parameter.
79      */
GetDeviceRestrictions()80     inline const Scte35DeviceRestrictions& GetDeviceRestrictions() const{ return m_deviceRestrictions; }
81 
82     /**
83      * Corresponds to SCTE-35 device_restrictions parameter.
84      */
DeviceRestrictionsHasBeenSet()85     inline bool DeviceRestrictionsHasBeenSet() const { return m_deviceRestrictionsHasBeenSet; }
86 
87     /**
88      * Corresponds to SCTE-35 device_restrictions parameter.
89      */
SetDeviceRestrictions(const Scte35DeviceRestrictions & value)90     inline void SetDeviceRestrictions(const Scte35DeviceRestrictions& value) { m_deviceRestrictionsHasBeenSet = true; m_deviceRestrictions = value; }
91 
92     /**
93      * Corresponds to SCTE-35 device_restrictions parameter.
94      */
SetDeviceRestrictions(Scte35DeviceRestrictions && value)95     inline void SetDeviceRestrictions(Scte35DeviceRestrictions&& value) { m_deviceRestrictionsHasBeenSet = true; m_deviceRestrictions = std::move(value); }
96 
97     /**
98      * Corresponds to SCTE-35 device_restrictions parameter.
99      */
WithDeviceRestrictions(const Scte35DeviceRestrictions & value)100     inline Scte35DeliveryRestrictions& WithDeviceRestrictions(const Scte35DeviceRestrictions& value) { SetDeviceRestrictions(value); return *this;}
101 
102     /**
103      * Corresponds to SCTE-35 device_restrictions parameter.
104      */
WithDeviceRestrictions(Scte35DeviceRestrictions && value)105     inline Scte35DeliveryRestrictions& WithDeviceRestrictions(Scte35DeviceRestrictions&& value) { SetDeviceRestrictions(std::move(value)); return *this;}
106 
107 
108     /**
109      * Corresponds to SCTE-35 no_regional_blackout_flag parameter.
110      */
GetNoRegionalBlackoutFlag()111     inline const Scte35NoRegionalBlackoutFlag& GetNoRegionalBlackoutFlag() const{ return m_noRegionalBlackoutFlag; }
112 
113     /**
114      * Corresponds to SCTE-35 no_regional_blackout_flag parameter.
115      */
NoRegionalBlackoutFlagHasBeenSet()116     inline bool NoRegionalBlackoutFlagHasBeenSet() const { return m_noRegionalBlackoutFlagHasBeenSet; }
117 
118     /**
119      * Corresponds to SCTE-35 no_regional_blackout_flag parameter.
120      */
SetNoRegionalBlackoutFlag(const Scte35NoRegionalBlackoutFlag & value)121     inline void SetNoRegionalBlackoutFlag(const Scte35NoRegionalBlackoutFlag& value) { m_noRegionalBlackoutFlagHasBeenSet = true; m_noRegionalBlackoutFlag = value; }
122 
123     /**
124      * Corresponds to SCTE-35 no_regional_blackout_flag parameter.
125      */
SetNoRegionalBlackoutFlag(Scte35NoRegionalBlackoutFlag && value)126     inline void SetNoRegionalBlackoutFlag(Scte35NoRegionalBlackoutFlag&& value) { m_noRegionalBlackoutFlagHasBeenSet = true; m_noRegionalBlackoutFlag = std::move(value); }
127 
128     /**
129      * Corresponds to SCTE-35 no_regional_blackout_flag parameter.
130      */
WithNoRegionalBlackoutFlag(const Scte35NoRegionalBlackoutFlag & value)131     inline Scte35DeliveryRestrictions& WithNoRegionalBlackoutFlag(const Scte35NoRegionalBlackoutFlag& value) { SetNoRegionalBlackoutFlag(value); return *this;}
132 
133     /**
134      * Corresponds to SCTE-35 no_regional_blackout_flag parameter.
135      */
WithNoRegionalBlackoutFlag(Scte35NoRegionalBlackoutFlag && value)136     inline Scte35DeliveryRestrictions& WithNoRegionalBlackoutFlag(Scte35NoRegionalBlackoutFlag&& value) { SetNoRegionalBlackoutFlag(std::move(value)); return *this;}
137 
138 
139     /**
140      * Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
141      */
GetWebDeliveryAllowedFlag()142     inline const Scte35WebDeliveryAllowedFlag& GetWebDeliveryAllowedFlag() const{ return m_webDeliveryAllowedFlag; }
143 
144     /**
145      * Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
146      */
WebDeliveryAllowedFlagHasBeenSet()147     inline bool WebDeliveryAllowedFlagHasBeenSet() const { return m_webDeliveryAllowedFlagHasBeenSet; }
148 
149     /**
150      * Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
151      */
SetWebDeliveryAllowedFlag(const Scte35WebDeliveryAllowedFlag & value)152     inline void SetWebDeliveryAllowedFlag(const Scte35WebDeliveryAllowedFlag& value) { m_webDeliveryAllowedFlagHasBeenSet = true; m_webDeliveryAllowedFlag = value; }
153 
154     /**
155      * Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
156      */
SetWebDeliveryAllowedFlag(Scte35WebDeliveryAllowedFlag && value)157     inline void SetWebDeliveryAllowedFlag(Scte35WebDeliveryAllowedFlag&& value) { m_webDeliveryAllowedFlagHasBeenSet = true; m_webDeliveryAllowedFlag = std::move(value); }
158 
159     /**
160      * Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
161      */
WithWebDeliveryAllowedFlag(const Scte35WebDeliveryAllowedFlag & value)162     inline Scte35DeliveryRestrictions& WithWebDeliveryAllowedFlag(const Scte35WebDeliveryAllowedFlag& value) { SetWebDeliveryAllowedFlag(value); return *this;}
163 
164     /**
165      * Corresponds to SCTE-35 web_delivery_allowed_flag parameter.
166      */
WithWebDeliveryAllowedFlag(Scte35WebDeliveryAllowedFlag && value)167     inline Scte35DeliveryRestrictions& WithWebDeliveryAllowedFlag(Scte35WebDeliveryAllowedFlag&& value) { SetWebDeliveryAllowedFlag(std::move(value)); return *this;}
168 
169   private:
170 
171     Scte35ArchiveAllowedFlag m_archiveAllowedFlag;
172     bool m_archiveAllowedFlagHasBeenSet;
173 
174     Scte35DeviceRestrictions m_deviceRestrictions;
175     bool m_deviceRestrictionsHasBeenSet;
176 
177     Scte35NoRegionalBlackoutFlag m_noRegionalBlackoutFlag;
178     bool m_noRegionalBlackoutFlagHasBeenSet;
179 
180     Scte35WebDeliveryAllowedFlag m_webDeliveryAllowedFlag;
181     bool m_webDeliveryAllowedFlagHasBeenSet;
182   };
183 
184 } // namespace Model
185 } // namespace MediaLive
186 } // namespace Aws
187