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

Information about a label detected in a video analysis request and the time * the label was detected in the video.

See Also:

AWS * API Reference

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

Time, in milliseconds from the start of the video, that the label was * detected. Note that Timestamp is not guaranteed to be accurate to * the individual frame where the label first appears.

*/ inline long long GetTimestamp() const{ return m_timestamp; } /** *

Time, in milliseconds from the start of the video, that the label was * detected. Note that Timestamp is not guaranteed to be accurate to * the individual frame where the label first appears.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

Time, in milliseconds from the start of the video, that the label was * detected. Note that Timestamp is not guaranteed to be accurate to * the individual frame where the label first appears.

*/ inline void SetTimestamp(long long value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

Time, in milliseconds from the start of the video, that the label was * detected. Note that Timestamp is not guaranteed to be accurate to * the individual frame where the label first appears.

*/ inline LabelDetection& WithTimestamp(long long value) { SetTimestamp(value); return *this;} /** *

Details about the detected label.

*/ inline const Label& GetLabel() const{ return m_label; } /** *

Details about the detected label.

*/ inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } /** *

Details about the detected label.

*/ inline void SetLabel(const Label& value) { m_labelHasBeenSet = true; m_label = value; } /** *

Details about the detected label.

*/ inline void SetLabel(Label&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } /** *

Details about the detected label.

*/ inline LabelDetection& WithLabel(const Label& value) { SetLabel(value); return *this;} /** *

Details about the detected label.

*/ inline LabelDetection& WithLabel(Label&& value) { SetLabel(std::move(value)); return *this;} /** *

The time in milliseconds defining the start of the timeline segment * containing a continuously detected label.

*/ inline long long GetStartTimestampMillis() const{ return m_startTimestampMillis; } /** *

The time in milliseconds defining the start of the timeline segment * containing a continuously detected label.

*/ inline bool StartTimestampMillisHasBeenSet() const { return m_startTimestampMillisHasBeenSet; } /** *

The time in milliseconds defining the start of the timeline segment * containing a continuously detected label.

*/ inline void SetStartTimestampMillis(long long value) { m_startTimestampMillisHasBeenSet = true; m_startTimestampMillis = value; } /** *

The time in milliseconds defining the start of the timeline segment * containing a continuously detected label.

*/ inline LabelDetection& WithStartTimestampMillis(long long value) { SetStartTimestampMillis(value); return *this;} /** *

The time in milliseconds defining the end of the timeline segment containing * a continuously detected label.

*/ inline long long GetEndTimestampMillis() const{ return m_endTimestampMillis; } /** *

The time in milliseconds defining the end of the timeline segment containing * a continuously detected label.

*/ inline bool EndTimestampMillisHasBeenSet() const { return m_endTimestampMillisHasBeenSet; } /** *

The time in milliseconds defining the end of the timeline segment containing * a continuously detected label.

*/ inline void SetEndTimestampMillis(long long value) { m_endTimestampMillisHasBeenSet = true; m_endTimestampMillis = value; } /** *

The time in milliseconds defining the end of the timeline segment containing * a continuously detected label.

*/ inline LabelDetection& WithEndTimestampMillis(long long value) { SetEndTimestampMillis(value); return *this;} /** *

The time duration of a segment in milliseconds, I.e. time elapsed from * StartTimestampMillis to EndTimestampMillis.

*/ inline long long GetDurationMillis() const{ return m_durationMillis; } /** *

The time duration of a segment in milliseconds, I.e. time elapsed from * StartTimestampMillis to EndTimestampMillis.

*/ inline bool DurationMillisHasBeenSet() const { return m_durationMillisHasBeenSet; } /** *

The time duration of a segment in milliseconds, I.e. time elapsed from * StartTimestampMillis to EndTimestampMillis.

*/ inline void SetDurationMillis(long long value) { m_durationMillisHasBeenSet = true; m_durationMillis = value; } /** *

The time duration of a segment in milliseconds, I.e. time elapsed from * StartTimestampMillis to EndTimestampMillis.

*/ inline LabelDetection& WithDurationMillis(long long value) { SetDurationMillis(value); return *this;} private: long long m_timestamp; bool m_timestampHasBeenSet = false; Label m_label; bool m_labelHasBeenSet = false; long long m_startTimestampMillis; bool m_startTimestampMillisHasBeenSet = false; long long m_endTimestampMillis; bool m_endTimestampMillisHasBeenSet = false; long long m_durationMillis; bool m_durationMillisHasBeenSet = false; }; } // namespace Model } // namespace Rekognition } // namespace Aws