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 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace MediaLive
20 {
21 namespace Model
22 {
23 
24   /**
25    * Settings for a SCTE-35 splice_insert message.<p><h3>See Also:</h3>   <a
26    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Scte35SpliceInsertScheduleActionSettings">AWS
27    * API Reference</a></p>
28    */
29   class AWS_MEDIALIVE_API Scte35SpliceInsertScheduleActionSettings
30   {
31   public:
32     Scte35SpliceInsertScheduleActionSettings();
33     Scte35SpliceInsertScheduleActionSettings(Aws::Utils::Json::JsonView jsonValue);
34     Scte35SpliceInsertScheduleActionSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
35     Aws::Utils::Json::JsonValue Jsonize() const;
36 
37 
38     /**
39      * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert
40      * seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there
41      * is an expectation that the downstream system can read the duration and cue in at
42      * that time. If you do not enter a duration, the splice_insert will continue
43      * indefinitely and there is an expectation that you will enter a return_to_network
44      * to end the splice_insert at the appropriate time.
45      */
GetDuration()46     inline long long GetDuration() const{ return m_duration; }
47 
48     /**
49      * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert
50      * seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there
51      * is an expectation that the downstream system can read the duration and cue in at
52      * that time. If you do not enter a duration, the splice_insert will continue
53      * indefinitely and there is an expectation that you will enter a return_to_network
54      * to end the splice_insert at the appropriate time.
55      */
DurationHasBeenSet()56     inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
57 
58     /**
59      * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert
60      * seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there
61      * is an expectation that the downstream system can read the duration and cue in at
62      * that time. If you do not enter a duration, the splice_insert will continue
63      * indefinitely and there is an expectation that you will enter a return_to_network
64      * to end the splice_insert at the appropriate time.
65      */
SetDuration(long long value)66     inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; }
67 
68     /**
69      * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert
70      * seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there
71      * is an expectation that the downstream system can read the duration and cue in at
72      * that time. If you do not enter a duration, the splice_insert will continue
73      * indefinitely and there is an expectation that you will enter a return_to_network
74      * to end the splice_insert at the appropriate time.
75      */
WithDuration(long long value)76     inline Scte35SpliceInsertScheduleActionSettings& WithDuration(long long value) { SetDuration(value); return *this;}
77 
78 
79     /**
80      * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
81      */
GetSpliceEventId()82     inline long long GetSpliceEventId() const{ return m_spliceEventId; }
83 
84     /**
85      * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
86      */
SpliceEventIdHasBeenSet()87     inline bool SpliceEventIdHasBeenSet() const { return m_spliceEventIdHasBeenSet; }
88 
89     /**
90      * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
91      */
SetSpliceEventId(long long value)92     inline void SetSpliceEventId(long long value) { m_spliceEventIdHasBeenSet = true; m_spliceEventId = value; }
93 
94     /**
95      * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35.
96      */
WithSpliceEventId(long long value)97     inline Scte35SpliceInsertScheduleActionSettings& WithSpliceEventId(long long value) { SetSpliceEventId(value); return *this;}
98 
99   private:
100 
101     long long m_duration;
102     bool m_durationHasBeenSet;
103 
104     long long m_spliceEventId;
105     bool m_spliceEventIdHasBeenSet;
106   };
107 
108 } // namespace Model
109 } // namespace MediaLive
110 } // namespace Aws
111