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/Scte35SpliceInsertNoRegionalBlackoutBehavior.h>
9 #include <aws/medialive/model/Scte35SpliceInsertWebDeliveryAllowedBehavior.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace MediaLive
23 {
24 namespace Model
25 {
26 
27   /**
28    * Scte35 Splice Insert<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/Scte35SpliceInsert">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API Scte35SpliceInsert
33   {
34   public:
35     Scte35SpliceInsert();
36     Scte35SpliceInsert(Aws::Utils::Json::JsonView jsonValue);
37     Scte35SpliceInsert& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS
43      * time. This only applies to embedded SCTE 104/35 messages and does not apply to
44      * OOB messages.
45      */
GetAdAvailOffset()46     inline int GetAdAvailOffset() const{ return m_adAvailOffset; }
47 
48     /**
49      * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS
50      * time. This only applies to embedded SCTE 104/35 messages and does not apply to
51      * OOB messages.
52      */
AdAvailOffsetHasBeenSet()53     inline bool AdAvailOffsetHasBeenSet() const { return m_adAvailOffsetHasBeenSet; }
54 
55     /**
56      * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS
57      * time. This only applies to embedded SCTE 104/35 messages and does not apply to
58      * OOB messages.
59      */
SetAdAvailOffset(int value)60     inline void SetAdAvailOffset(int value) { m_adAvailOffsetHasBeenSet = true; m_adAvailOffset = value; }
61 
62     /**
63      * When specified, this offset (in milliseconds) is added to the input Ad Avail PTS
64      * time. This only applies to embedded SCTE 104/35 messages and does not apply to
65      * OOB messages.
66      */
WithAdAvailOffset(int value)67     inline Scte35SpliceInsert& WithAdAvailOffset(int value) { SetAdAvailOffset(value); return *this;}
68 
69 
70     /**
71      * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0
72      * will no longer trigger blackouts or Ad Avail slates
73      */
GetNoRegionalBlackoutFlag()74     inline const Scte35SpliceInsertNoRegionalBlackoutBehavior& GetNoRegionalBlackoutFlag() const{ return m_noRegionalBlackoutFlag; }
75 
76     /**
77      * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0
78      * will no longer trigger blackouts or Ad Avail slates
79      */
NoRegionalBlackoutFlagHasBeenSet()80     inline bool NoRegionalBlackoutFlagHasBeenSet() const { return m_noRegionalBlackoutFlagHasBeenSet; }
81 
82     /**
83      * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0
84      * will no longer trigger blackouts or Ad Avail slates
85      */
SetNoRegionalBlackoutFlag(const Scte35SpliceInsertNoRegionalBlackoutBehavior & value)86     inline void SetNoRegionalBlackoutFlag(const Scte35SpliceInsertNoRegionalBlackoutBehavior& value) { m_noRegionalBlackoutFlagHasBeenSet = true; m_noRegionalBlackoutFlag = value; }
87 
88     /**
89      * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0
90      * will no longer trigger blackouts or Ad Avail slates
91      */
SetNoRegionalBlackoutFlag(Scte35SpliceInsertNoRegionalBlackoutBehavior && value)92     inline void SetNoRegionalBlackoutFlag(Scte35SpliceInsertNoRegionalBlackoutBehavior&& value) { m_noRegionalBlackoutFlagHasBeenSet = true; m_noRegionalBlackoutFlag = std::move(value); }
93 
94     /**
95      * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0
96      * will no longer trigger blackouts or Ad Avail slates
97      */
WithNoRegionalBlackoutFlag(const Scte35SpliceInsertNoRegionalBlackoutBehavior & value)98     inline Scte35SpliceInsert& WithNoRegionalBlackoutFlag(const Scte35SpliceInsertNoRegionalBlackoutBehavior& value) { SetNoRegionalBlackoutFlag(value); return *this;}
99 
100     /**
101      * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0
102      * will no longer trigger blackouts or Ad Avail slates
103      */
WithNoRegionalBlackoutFlag(Scte35SpliceInsertNoRegionalBlackoutBehavior && value)104     inline Scte35SpliceInsert& WithNoRegionalBlackoutFlag(Scte35SpliceInsertNoRegionalBlackoutBehavior&& value) { SetNoRegionalBlackoutFlag(std::move(value)); return *this;}
105 
106 
107     /**
108      * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0
109      * will no longer trigger blackouts or Ad Avail slates
110      */
GetWebDeliveryAllowedFlag()111     inline const Scte35SpliceInsertWebDeliveryAllowedBehavior& GetWebDeliveryAllowedFlag() const{ return m_webDeliveryAllowedFlag; }
112 
113     /**
114      * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0
115      * will no longer trigger blackouts or Ad Avail slates
116      */
WebDeliveryAllowedFlagHasBeenSet()117     inline bool WebDeliveryAllowedFlagHasBeenSet() const { return m_webDeliveryAllowedFlagHasBeenSet; }
118 
119     /**
120      * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0
121      * will no longer trigger blackouts or Ad Avail slates
122      */
SetWebDeliveryAllowedFlag(const Scte35SpliceInsertWebDeliveryAllowedBehavior & value)123     inline void SetWebDeliveryAllowedFlag(const Scte35SpliceInsertWebDeliveryAllowedBehavior& value) { m_webDeliveryAllowedFlagHasBeenSet = true; m_webDeliveryAllowedFlag = value; }
124 
125     /**
126      * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0
127      * will no longer trigger blackouts or Ad Avail slates
128      */
SetWebDeliveryAllowedFlag(Scte35SpliceInsertWebDeliveryAllowedBehavior && value)129     inline void SetWebDeliveryAllowedFlag(Scte35SpliceInsertWebDeliveryAllowedBehavior&& value) { m_webDeliveryAllowedFlagHasBeenSet = true; m_webDeliveryAllowedFlag = std::move(value); }
130 
131     /**
132      * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0
133      * will no longer trigger blackouts or Ad Avail slates
134      */
WithWebDeliveryAllowedFlag(const Scte35SpliceInsertWebDeliveryAllowedBehavior & value)135     inline Scte35SpliceInsert& WithWebDeliveryAllowedFlag(const Scte35SpliceInsertWebDeliveryAllowedBehavior& value) { SetWebDeliveryAllowedFlag(value); return *this;}
136 
137     /**
138      * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0
139      * will no longer trigger blackouts or Ad Avail slates
140      */
WithWebDeliveryAllowedFlag(Scte35SpliceInsertWebDeliveryAllowedBehavior && value)141     inline Scte35SpliceInsert& WithWebDeliveryAllowedFlag(Scte35SpliceInsertWebDeliveryAllowedBehavior&& value) { SetWebDeliveryAllowedFlag(std::move(value)); return *this;}
142 
143   private:
144 
145     int m_adAvailOffset;
146     bool m_adAvailOffsetHasBeenSet;
147 
148     Scte35SpliceInsertNoRegionalBlackoutBehavior m_noRegionalBlackoutFlag;
149     bool m_noRegionalBlackoutFlagHasBeenSet;
150 
151     Scte35SpliceInsertWebDeliveryAllowedBehavior m_webDeliveryAllowedFlag;
152     bool m_webDeliveryAllowedFlagHasBeenSet;
153   };
154 
155 } // namespace Model
156 } // namespace MediaLive
157 } // namespace Aws
158