/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaTailor { namespace Model { /** *

The SCTE-35 time_signal message can be sent with one or more * segmentation_descriptor messages. A time_signal * message can be sent only if a single segmentation_descriptor * message is sent.

The time_signal message contains only the * splice_time field which is constructed using a given presentation * timestamp. When sending a time_signal message, the * splice_command_type field in the splice_info_section * message is set to 6 (0x06).

See the time_signal() table of * the 2022 SCTE-35 specification for more information.

See Also:

* AWS * API Reference

*/ class TimeSignalMessage { public: AWS_MEDIATAILOR_API TimeSignalMessage(); AWS_MEDIATAILOR_API TimeSignalMessage(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIATAILOR_API TimeSignalMessage& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline const Aws::Vector& GetSegmentationDescriptors() const{ return m_segmentationDescriptors; } /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline bool SegmentationDescriptorsHasBeenSet() const { return m_segmentationDescriptorsHasBeenSet; } /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline void SetSegmentationDescriptors(const Aws::Vector& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors = value; } /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline void SetSegmentationDescriptors(Aws::Vector&& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors = std::move(value); } /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline TimeSignalMessage& WithSegmentationDescriptors(const Aws::Vector& value) { SetSegmentationDescriptors(value); return *this;} /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline TimeSignalMessage& WithSegmentationDescriptors(Aws::Vector&& value) { SetSegmentationDescriptors(std::move(value)); return *this;} /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline TimeSignalMessage& AddSegmentationDescriptors(const SegmentationDescriptor& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors.push_back(value); return *this; } /** *

The configurations for the SCTE-35 segmentation_descriptor * message(s) sent with the time_signal message.

*/ inline TimeSignalMessage& AddSegmentationDescriptors(SegmentationDescriptor&& value) { m_segmentationDescriptorsHasBeenSet = true; m_segmentationDescriptors.push_back(std::move(value)); return *this; } private: Aws::Vector m_segmentationDescriptors; bool m_segmentationDescriptorsHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws