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