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/Scte35SpliceInsert.h>
9 #include <aws/medialive/model/Scte35TimeSignalApos.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    * Avail Settings<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/AvailSettings">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API AvailSettings
33   {
34   public:
35     AvailSettings();
36     AvailSettings(Aws::Utils::Json::JsonView jsonValue);
37     AvailSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41 
GetScte35SpliceInsert()42     inline const Scte35SpliceInsert& GetScte35SpliceInsert() const{ return m_scte35SpliceInsert; }
43 
44 
Scte35SpliceInsertHasBeenSet()45     inline bool Scte35SpliceInsertHasBeenSet() const { return m_scte35SpliceInsertHasBeenSet; }
46 
47 
SetScte35SpliceInsert(const Scte35SpliceInsert & value)48     inline void SetScte35SpliceInsert(const Scte35SpliceInsert& value) { m_scte35SpliceInsertHasBeenSet = true; m_scte35SpliceInsert = value; }
49 
50 
SetScte35SpliceInsert(Scte35SpliceInsert && value)51     inline void SetScte35SpliceInsert(Scte35SpliceInsert&& value) { m_scte35SpliceInsertHasBeenSet = true; m_scte35SpliceInsert = std::move(value); }
52 
53 
WithScte35SpliceInsert(const Scte35SpliceInsert & value)54     inline AvailSettings& WithScte35SpliceInsert(const Scte35SpliceInsert& value) { SetScte35SpliceInsert(value); return *this;}
55 
56 
WithScte35SpliceInsert(Scte35SpliceInsert && value)57     inline AvailSettings& WithScte35SpliceInsert(Scte35SpliceInsert&& value) { SetScte35SpliceInsert(std::move(value)); return *this;}
58 
59 
60 
GetScte35TimeSignalApos()61     inline const Scte35TimeSignalApos& GetScte35TimeSignalApos() const{ return m_scte35TimeSignalApos; }
62 
63 
Scte35TimeSignalAposHasBeenSet()64     inline bool Scte35TimeSignalAposHasBeenSet() const { return m_scte35TimeSignalAposHasBeenSet; }
65 
66 
SetScte35TimeSignalApos(const Scte35TimeSignalApos & value)67     inline void SetScte35TimeSignalApos(const Scte35TimeSignalApos& value) { m_scte35TimeSignalAposHasBeenSet = true; m_scte35TimeSignalApos = value; }
68 
69 
SetScte35TimeSignalApos(Scte35TimeSignalApos && value)70     inline void SetScte35TimeSignalApos(Scte35TimeSignalApos&& value) { m_scte35TimeSignalAposHasBeenSet = true; m_scte35TimeSignalApos = std::move(value); }
71 
72 
WithScte35TimeSignalApos(const Scte35TimeSignalApos & value)73     inline AvailSettings& WithScte35TimeSignalApos(const Scte35TimeSignalApos& value) { SetScte35TimeSignalApos(value); return *this;}
74 
75 
WithScte35TimeSignalApos(Scte35TimeSignalApos && value)76     inline AvailSettings& WithScte35TimeSignalApos(Scte35TimeSignalApos&& value) { SetScte35TimeSignalApos(std::move(value)); return *this;}
77 
78   private:
79 
80     Scte35SpliceInsert m_scte35SpliceInsert;
81     bool m_scte35SpliceInsertHasBeenSet;
82 
83     Scte35TimeSignalApos m_scte35TimeSignalApos;
84     bool m_scte35TimeSignalAposHasBeenSet;
85   };
86 
87 } // namespace Model
88 } // namespace MediaLive
89 } // namespace Aws
90