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/Scte35DeliveryRestrictions.h> 9 #include <aws/medialive/model/Scte35SegmentationCancelIndicator.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace MediaLive 24 { 25 namespace Model 26 { 27 28 /** 29 * Corresponds to SCTE-35 segmentation_descriptor.<p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Scte35SegmentationDescriptor">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_MEDIALIVE_API Scte35SegmentationDescriptor 34 { 35 public: 36 Scte35SegmentationDescriptor(); 37 Scte35SegmentationDescriptor(Aws::Utils::Json::JsonView jsonValue); 38 Scte35SegmentationDescriptor& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * Holds the four SCTE-35 delivery restriction parameters. 44 */ GetDeliveryRestrictions()45 inline const Scte35DeliveryRestrictions& GetDeliveryRestrictions() const{ return m_deliveryRestrictions; } 46 47 /** 48 * Holds the four SCTE-35 delivery restriction parameters. 49 */ DeliveryRestrictionsHasBeenSet()50 inline bool DeliveryRestrictionsHasBeenSet() const { return m_deliveryRestrictionsHasBeenSet; } 51 52 /** 53 * Holds the four SCTE-35 delivery restriction parameters. 54 */ SetDeliveryRestrictions(const Scte35DeliveryRestrictions & value)55 inline void SetDeliveryRestrictions(const Scte35DeliveryRestrictions& value) { m_deliveryRestrictionsHasBeenSet = true; m_deliveryRestrictions = value; } 56 57 /** 58 * Holds the four SCTE-35 delivery restriction parameters. 59 */ SetDeliveryRestrictions(Scte35DeliveryRestrictions && value)60 inline void SetDeliveryRestrictions(Scte35DeliveryRestrictions&& value) { m_deliveryRestrictionsHasBeenSet = true; m_deliveryRestrictions = std::move(value); } 61 62 /** 63 * Holds the four SCTE-35 delivery restriction parameters. 64 */ WithDeliveryRestrictions(const Scte35DeliveryRestrictions & value)65 inline Scte35SegmentationDescriptor& WithDeliveryRestrictions(const Scte35DeliveryRestrictions& value) { SetDeliveryRestrictions(value); return *this;} 66 67 /** 68 * Holds the four SCTE-35 delivery restriction parameters. 69 */ WithDeliveryRestrictions(Scte35DeliveryRestrictions && value)70 inline Scte35SegmentationDescriptor& WithDeliveryRestrictions(Scte35DeliveryRestrictions&& value) { SetDeliveryRestrictions(std::move(value)); return *this;} 71 72 73 /** 74 * Corresponds to SCTE-35 segment_num. A value that is valid for the specified 75 * segmentation_type_id. 76 */ GetSegmentNum()77 inline int GetSegmentNum() const{ return m_segmentNum; } 78 79 /** 80 * Corresponds to SCTE-35 segment_num. A value that is valid for the specified 81 * segmentation_type_id. 82 */ SegmentNumHasBeenSet()83 inline bool SegmentNumHasBeenSet() const { return m_segmentNumHasBeenSet; } 84 85 /** 86 * Corresponds to SCTE-35 segment_num. A value that is valid for the specified 87 * segmentation_type_id. 88 */ SetSegmentNum(int value)89 inline void SetSegmentNum(int value) { m_segmentNumHasBeenSet = true; m_segmentNum = value; } 90 91 /** 92 * Corresponds to SCTE-35 segment_num. A value that is valid for the specified 93 * segmentation_type_id. 94 */ WithSegmentNum(int value)95 inline Scte35SegmentationDescriptor& WithSegmentNum(int value) { SetSegmentNum(value); return *this;} 96 97 98 /** 99 * Corresponds to SCTE-35 segmentation_event_cancel_indicator. 100 */ GetSegmentationCancelIndicator()101 inline const Scte35SegmentationCancelIndicator& GetSegmentationCancelIndicator() const{ return m_segmentationCancelIndicator; } 102 103 /** 104 * Corresponds to SCTE-35 segmentation_event_cancel_indicator. 105 */ SegmentationCancelIndicatorHasBeenSet()106 inline bool SegmentationCancelIndicatorHasBeenSet() const { return m_segmentationCancelIndicatorHasBeenSet; } 107 108 /** 109 * Corresponds to SCTE-35 segmentation_event_cancel_indicator. 110 */ SetSegmentationCancelIndicator(const Scte35SegmentationCancelIndicator & value)111 inline void SetSegmentationCancelIndicator(const Scte35SegmentationCancelIndicator& value) { m_segmentationCancelIndicatorHasBeenSet = true; m_segmentationCancelIndicator = value; } 112 113 /** 114 * Corresponds to SCTE-35 segmentation_event_cancel_indicator. 115 */ SetSegmentationCancelIndicator(Scte35SegmentationCancelIndicator && value)116 inline void SetSegmentationCancelIndicator(Scte35SegmentationCancelIndicator&& value) { m_segmentationCancelIndicatorHasBeenSet = true; m_segmentationCancelIndicator = std::move(value); } 117 118 /** 119 * Corresponds to SCTE-35 segmentation_event_cancel_indicator. 120 */ WithSegmentationCancelIndicator(const Scte35SegmentationCancelIndicator & value)121 inline Scte35SegmentationDescriptor& WithSegmentationCancelIndicator(const Scte35SegmentationCancelIndicator& value) { SetSegmentationCancelIndicator(value); return *this;} 122 123 /** 124 * Corresponds to SCTE-35 segmentation_event_cancel_indicator. 125 */ WithSegmentationCancelIndicator(Scte35SegmentationCancelIndicator && value)126 inline Scte35SegmentationDescriptor& WithSegmentationCancelIndicator(Scte35SegmentationCancelIndicator&& value) { SetSegmentationCancelIndicator(std::move(value)); return *this;} 127 128 129 /** 130 * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the 131 * time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds 132 * by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the 133 * time_signal will continue until you insert a cancellation message. 134 */ GetSegmentationDuration()135 inline long long GetSegmentationDuration() const{ return m_segmentationDuration; } 136 137 /** 138 * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the 139 * time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds 140 * by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the 141 * time_signal will continue until you insert a cancellation message. 142 */ SegmentationDurationHasBeenSet()143 inline bool SegmentationDurationHasBeenSet() const { return m_segmentationDurationHasBeenSet; } 144 145 /** 146 * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the 147 * time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds 148 * by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the 149 * time_signal will continue until you insert a cancellation message. 150 */ SetSegmentationDuration(long long value)151 inline void SetSegmentationDuration(long long value) { m_segmentationDurationHasBeenSet = true; m_segmentationDuration = value; } 152 153 /** 154 * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the 155 * time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds 156 * by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the 157 * time_signal will continue until you insert a cancellation message. 158 */ WithSegmentationDuration(long long value)159 inline Scte35SegmentationDescriptor& WithSegmentationDuration(long long value) { SetSegmentationDuration(value); return *this;} 160 161 162 /** 163 * Corresponds to SCTE-35 segmentation_event_id. 164 */ GetSegmentationEventId()165 inline long long GetSegmentationEventId() const{ return m_segmentationEventId; } 166 167 /** 168 * Corresponds to SCTE-35 segmentation_event_id. 169 */ SegmentationEventIdHasBeenSet()170 inline bool SegmentationEventIdHasBeenSet() const { return m_segmentationEventIdHasBeenSet; } 171 172 /** 173 * Corresponds to SCTE-35 segmentation_event_id. 174 */ SetSegmentationEventId(long long value)175 inline void SetSegmentationEventId(long long value) { m_segmentationEventIdHasBeenSet = true; m_segmentationEventId = value; } 176 177 /** 178 * Corresponds to SCTE-35 segmentation_event_id. 179 */ WithSegmentationEventId(long long value)180 inline Scte35SegmentationDescriptor& WithSegmentationEventId(long long value) { SetSegmentationEventId(value); return *this;} 181 182 183 /** 184 * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id 185 * values listed in the SCTE-35 specification. On the console, enter the ID in 186 * decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex 187 * (for example, "0x34") or decimal (for example, "52"). 188 */ GetSegmentationTypeId()189 inline int GetSegmentationTypeId() const{ return m_segmentationTypeId; } 190 191 /** 192 * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id 193 * values listed in the SCTE-35 specification. On the console, enter the ID in 194 * decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex 195 * (for example, "0x34") or decimal (for example, "52"). 196 */ SegmentationTypeIdHasBeenSet()197 inline bool SegmentationTypeIdHasBeenSet() const { return m_segmentationTypeIdHasBeenSet; } 198 199 /** 200 * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id 201 * values listed in the SCTE-35 specification. On the console, enter the ID in 202 * decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex 203 * (for example, "0x34") or decimal (for example, "52"). 204 */ SetSegmentationTypeId(int value)205 inline void SetSegmentationTypeId(int value) { m_segmentationTypeIdHasBeenSet = true; m_segmentationTypeId = value; } 206 207 /** 208 * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id 209 * values listed in the SCTE-35 specification. On the console, enter the ID in 210 * decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex 211 * (for example, "0x34") or decimal (for example, "52"). 212 */ WithSegmentationTypeId(int value)213 inline Scte35SegmentationDescriptor& WithSegmentationTypeId(int value) { SetSegmentationTypeId(value); return *this;} 214 215 216 /** 217 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 218 * hexadecimal representation of the characters that make up the SCTE-35 219 * segmentation_upid value. Must contain an even number of hex characters. Do not 220 * include spaces between each hex pair. For example, the ASCII "ADS Information" 221 * becomes hex "41445320496e666f726d6174696f6e. 222 */ GetSegmentationUpid()223 inline const Aws::String& GetSegmentationUpid() const{ return m_segmentationUpid; } 224 225 /** 226 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 227 * hexadecimal representation of the characters that make up the SCTE-35 228 * segmentation_upid value. Must contain an even number of hex characters. Do not 229 * include spaces between each hex pair. For example, the ASCII "ADS Information" 230 * becomes hex "41445320496e666f726d6174696f6e. 231 */ SegmentationUpidHasBeenSet()232 inline bool SegmentationUpidHasBeenSet() const { return m_segmentationUpidHasBeenSet; } 233 234 /** 235 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 236 * hexadecimal representation of the characters that make up the SCTE-35 237 * segmentation_upid value. Must contain an even number of hex characters. Do not 238 * include spaces between each hex pair. For example, the ASCII "ADS Information" 239 * becomes hex "41445320496e666f726d6174696f6e. 240 */ SetSegmentationUpid(const Aws::String & value)241 inline void SetSegmentationUpid(const Aws::String& value) { m_segmentationUpidHasBeenSet = true; m_segmentationUpid = value; } 242 243 /** 244 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 245 * hexadecimal representation of the characters that make up the SCTE-35 246 * segmentation_upid value. Must contain an even number of hex characters. Do not 247 * include spaces between each hex pair. For example, the ASCII "ADS Information" 248 * becomes hex "41445320496e666f726d6174696f6e. 249 */ SetSegmentationUpid(Aws::String && value)250 inline void SetSegmentationUpid(Aws::String&& value) { m_segmentationUpidHasBeenSet = true; m_segmentationUpid = std::move(value); } 251 252 /** 253 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 254 * hexadecimal representation of the characters that make up the SCTE-35 255 * segmentation_upid value. Must contain an even number of hex characters. Do not 256 * include spaces between each hex pair. For example, the ASCII "ADS Information" 257 * becomes hex "41445320496e666f726d6174696f6e. 258 */ SetSegmentationUpid(const char * value)259 inline void SetSegmentationUpid(const char* value) { m_segmentationUpidHasBeenSet = true; m_segmentationUpid.assign(value); } 260 261 /** 262 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 263 * hexadecimal representation of the characters that make up the SCTE-35 264 * segmentation_upid value. Must contain an even number of hex characters. Do not 265 * include spaces between each hex pair. For example, the ASCII "ADS Information" 266 * becomes hex "41445320496e666f726d6174696f6e. 267 */ WithSegmentationUpid(const Aws::String & value)268 inline Scte35SegmentationDescriptor& WithSegmentationUpid(const Aws::String& value) { SetSegmentationUpid(value); return *this;} 269 270 /** 271 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 272 * hexadecimal representation of the characters that make up the SCTE-35 273 * segmentation_upid value. Must contain an even number of hex characters. Do not 274 * include spaces between each hex pair. For example, the ASCII "ADS Information" 275 * becomes hex "41445320496e666f726d6174696f6e. 276 */ WithSegmentationUpid(Aws::String && value)277 inline Scte35SegmentationDescriptor& WithSegmentationUpid(Aws::String&& value) { SetSegmentationUpid(std::move(value)); return *this;} 278 279 /** 280 * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the 281 * hexadecimal representation of the characters that make up the SCTE-35 282 * segmentation_upid value. Must contain an even number of hex characters. Do not 283 * include spaces between each hex pair. For example, the ASCII "ADS Information" 284 * becomes hex "41445320496e666f726d6174696f6e. 285 */ WithSegmentationUpid(const char * value)286 inline Scte35SegmentationDescriptor& WithSegmentationUpid(const char* value) { SetSegmentationUpid(value); return *this;} 287 288 289 /** 290 * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the 291 * types listed in the SCTE-35 specification, converted to a decimal. For example, 292 * "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an 293 * SDK, enter one of the types listed in the SCTE-35 specification, in either hex 294 * (for example, "0x0C" ) or in decimal (for example, "12"). 295 */ GetSegmentationUpidType()296 inline int GetSegmentationUpidType() const{ return m_segmentationUpidType; } 297 298 /** 299 * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the 300 * types listed in the SCTE-35 specification, converted to a decimal. For example, 301 * "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an 302 * SDK, enter one of the types listed in the SCTE-35 specification, in either hex 303 * (for example, "0x0C" ) or in decimal (for example, "12"). 304 */ SegmentationUpidTypeHasBeenSet()305 inline bool SegmentationUpidTypeHasBeenSet() const { return m_segmentationUpidTypeHasBeenSet; } 306 307 /** 308 * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the 309 * types listed in the SCTE-35 specification, converted to a decimal. For example, 310 * "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an 311 * SDK, enter one of the types listed in the SCTE-35 specification, in either hex 312 * (for example, "0x0C" ) or in decimal (for example, "12"). 313 */ SetSegmentationUpidType(int value)314 inline void SetSegmentationUpidType(int value) { m_segmentationUpidTypeHasBeenSet = true; m_segmentationUpidType = value; } 315 316 /** 317 * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the 318 * types listed in the SCTE-35 specification, converted to a decimal. For example, 319 * "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an 320 * SDK, enter one of the types listed in the SCTE-35 specification, in either hex 321 * (for example, "0x0C" ) or in decimal (for example, "12"). 322 */ WithSegmentationUpidType(int value)323 inline Scte35SegmentationDescriptor& WithSegmentationUpidType(int value) { SetSegmentationUpidType(value); return *this;} 324 325 326 /** 327 * Corresponds to SCTE-35 segments_expected. A value that is valid for the 328 * specified segmentation_type_id. 329 */ GetSegmentsExpected()330 inline int GetSegmentsExpected() const{ return m_segmentsExpected; } 331 332 /** 333 * Corresponds to SCTE-35 segments_expected. A value that is valid for the 334 * specified segmentation_type_id. 335 */ SegmentsExpectedHasBeenSet()336 inline bool SegmentsExpectedHasBeenSet() const { return m_segmentsExpectedHasBeenSet; } 337 338 /** 339 * Corresponds to SCTE-35 segments_expected. A value that is valid for the 340 * specified segmentation_type_id. 341 */ SetSegmentsExpected(int value)342 inline void SetSegmentsExpected(int value) { m_segmentsExpectedHasBeenSet = true; m_segmentsExpected = value; } 343 344 /** 345 * Corresponds to SCTE-35 segments_expected. A value that is valid for the 346 * specified segmentation_type_id. 347 */ WithSegmentsExpected(int value)348 inline Scte35SegmentationDescriptor& WithSegmentsExpected(int value) { SetSegmentsExpected(value); return *this;} 349 350 351 /** 352 * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified 353 * segmentation_type_id. 354 */ GetSubSegmentNum()355 inline int GetSubSegmentNum() const{ return m_subSegmentNum; } 356 357 /** 358 * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified 359 * segmentation_type_id. 360 */ SubSegmentNumHasBeenSet()361 inline bool SubSegmentNumHasBeenSet() const { return m_subSegmentNumHasBeenSet; } 362 363 /** 364 * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified 365 * segmentation_type_id. 366 */ SetSubSegmentNum(int value)367 inline void SetSubSegmentNum(int value) { m_subSegmentNumHasBeenSet = true; m_subSegmentNum = value; } 368 369 /** 370 * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified 371 * segmentation_type_id. 372 */ WithSubSegmentNum(int value)373 inline Scte35SegmentationDescriptor& WithSubSegmentNum(int value) { SetSubSegmentNum(value); return *this;} 374 375 376 /** 377 * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the 378 * specified segmentation_type_id. 379 */ GetSubSegmentsExpected()380 inline int GetSubSegmentsExpected() const{ return m_subSegmentsExpected; } 381 382 /** 383 * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the 384 * specified segmentation_type_id. 385 */ SubSegmentsExpectedHasBeenSet()386 inline bool SubSegmentsExpectedHasBeenSet() const { return m_subSegmentsExpectedHasBeenSet; } 387 388 /** 389 * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the 390 * specified segmentation_type_id. 391 */ SetSubSegmentsExpected(int value)392 inline void SetSubSegmentsExpected(int value) { m_subSegmentsExpectedHasBeenSet = true; m_subSegmentsExpected = value; } 393 394 /** 395 * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the 396 * specified segmentation_type_id. 397 */ WithSubSegmentsExpected(int value)398 inline Scte35SegmentationDescriptor& WithSubSegmentsExpected(int value) { SetSubSegmentsExpected(value); return *this;} 399 400 private: 401 402 Scte35DeliveryRestrictions m_deliveryRestrictions; 403 bool m_deliveryRestrictionsHasBeenSet; 404 405 int m_segmentNum; 406 bool m_segmentNumHasBeenSet; 407 408 Scte35SegmentationCancelIndicator m_segmentationCancelIndicator; 409 bool m_segmentationCancelIndicatorHasBeenSet; 410 411 long long m_segmentationDuration; 412 bool m_segmentationDurationHasBeenSet; 413 414 long long m_segmentationEventId; 415 bool m_segmentationEventIdHasBeenSet; 416 417 int m_segmentationTypeId; 418 bool m_segmentationTypeIdHasBeenSet; 419 420 Aws::String m_segmentationUpid; 421 bool m_segmentationUpidHasBeenSet; 422 423 int m_segmentationUpidType; 424 bool m_segmentationUpidTypeHasBeenSet; 425 426 int m_segmentsExpected; 427 bool m_segmentsExpectedHasBeenSet; 428 429 int m_subSegmentNum; 430 bool m_subSegmentNumHasBeenSet; 431 432 int m_subSegmentsExpected; 433 bool m_subSegmentsExpectedHasBeenSet; 434 }; 435 436 } // namespace Model 437 } // namespace MediaLive 438 } // namespace Aws 439