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/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace MediaLive 22 { 23 namespace Model 24 { 25 26 /** 27 * Maps a caption channel to an ISO 693-2 language code 28 * (http://www.loc.gov/standards/iso639-2), with an optional description.<p><h3>See 29 * Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CaptionLanguageMapping">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_MEDIALIVE_API CaptionLanguageMapping 34 { 35 public: 36 CaptionLanguageMapping(); 37 CaptionLanguageMapping(Aws::Utils::Json::JsonView jsonValue); 38 CaptionLanguageMapping& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * The closed caption channel being described by this CaptionLanguageMapping. Each 44 * channel mapping must have a unique channel number (maximum of 4) 45 */ GetCaptionChannel()46 inline int GetCaptionChannel() const{ return m_captionChannel; } 47 48 /** 49 * The closed caption channel being described by this CaptionLanguageMapping. Each 50 * channel mapping must have a unique channel number (maximum of 4) 51 */ CaptionChannelHasBeenSet()52 inline bool CaptionChannelHasBeenSet() const { return m_captionChannelHasBeenSet; } 53 54 /** 55 * The closed caption channel being described by this CaptionLanguageMapping. Each 56 * channel mapping must have a unique channel number (maximum of 4) 57 */ SetCaptionChannel(int value)58 inline void SetCaptionChannel(int value) { m_captionChannelHasBeenSet = true; m_captionChannel = value; } 59 60 /** 61 * The closed caption channel being described by this CaptionLanguageMapping. Each 62 * channel mapping must have a unique channel number (maximum of 4) 63 */ WithCaptionChannel(int value)64 inline CaptionLanguageMapping& WithCaptionChannel(int value) { SetCaptionChannel(value); return *this;} 65 66 67 /** 68 * Three character ISO 639-2 language code (see 69 * http://www.loc.gov/standards/iso639-2) 70 */ GetLanguageCode()71 inline const Aws::String& GetLanguageCode() const{ return m_languageCode; } 72 73 /** 74 * Three character ISO 639-2 language code (see 75 * http://www.loc.gov/standards/iso639-2) 76 */ LanguageCodeHasBeenSet()77 inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } 78 79 /** 80 * Three character ISO 639-2 language code (see 81 * http://www.loc.gov/standards/iso639-2) 82 */ SetLanguageCode(const Aws::String & value)83 inline void SetLanguageCode(const Aws::String& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } 84 85 /** 86 * Three character ISO 639-2 language code (see 87 * http://www.loc.gov/standards/iso639-2) 88 */ SetLanguageCode(Aws::String && value)89 inline void SetLanguageCode(Aws::String&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } 90 91 /** 92 * Three character ISO 639-2 language code (see 93 * http://www.loc.gov/standards/iso639-2) 94 */ SetLanguageCode(const char * value)95 inline void SetLanguageCode(const char* value) { m_languageCodeHasBeenSet = true; m_languageCode.assign(value); } 96 97 /** 98 * Three character ISO 639-2 language code (see 99 * http://www.loc.gov/standards/iso639-2) 100 */ WithLanguageCode(const Aws::String & value)101 inline CaptionLanguageMapping& WithLanguageCode(const Aws::String& value) { SetLanguageCode(value); return *this;} 102 103 /** 104 * Three character ISO 639-2 language code (see 105 * http://www.loc.gov/standards/iso639-2) 106 */ WithLanguageCode(Aws::String && value)107 inline CaptionLanguageMapping& WithLanguageCode(Aws::String&& value) { SetLanguageCode(std::move(value)); return *this;} 108 109 /** 110 * Three character ISO 639-2 language code (see 111 * http://www.loc.gov/standards/iso639-2) 112 */ WithLanguageCode(const char * value)113 inline CaptionLanguageMapping& WithLanguageCode(const char* value) { SetLanguageCode(value); return *this;} 114 115 116 /** 117 * Textual description of language 118 */ GetLanguageDescription()119 inline const Aws::String& GetLanguageDescription() const{ return m_languageDescription; } 120 121 /** 122 * Textual description of language 123 */ LanguageDescriptionHasBeenSet()124 inline bool LanguageDescriptionHasBeenSet() const { return m_languageDescriptionHasBeenSet; } 125 126 /** 127 * Textual description of language 128 */ SetLanguageDescription(const Aws::String & value)129 inline void SetLanguageDescription(const Aws::String& value) { m_languageDescriptionHasBeenSet = true; m_languageDescription = value; } 130 131 /** 132 * Textual description of language 133 */ SetLanguageDescription(Aws::String && value)134 inline void SetLanguageDescription(Aws::String&& value) { m_languageDescriptionHasBeenSet = true; m_languageDescription = std::move(value); } 135 136 /** 137 * Textual description of language 138 */ SetLanguageDescription(const char * value)139 inline void SetLanguageDescription(const char* value) { m_languageDescriptionHasBeenSet = true; m_languageDescription.assign(value); } 140 141 /** 142 * Textual description of language 143 */ WithLanguageDescription(const Aws::String & value)144 inline CaptionLanguageMapping& WithLanguageDescription(const Aws::String& value) { SetLanguageDescription(value); return *this;} 145 146 /** 147 * Textual description of language 148 */ WithLanguageDescription(Aws::String && value)149 inline CaptionLanguageMapping& WithLanguageDescription(Aws::String&& value) { SetLanguageDescription(std::move(value)); return *this;} 150 151 /** 152 * Textual description of language 153 */ WithLanguageDescription(const char * value)154 inline CaptionLanguageMapping& WithLanguageDescription(const char* value) { SetLanguageDescription(value); return *this;} 155 156 private: 157 158 int m_captionChannel; 159 bool m_captionChannelHasBeenSet; 160 161 Aws::String m_languageCode; 162 bool m_languageCodeHasBeenSet; 163 164 Aws::String m_languageDescription; 165 bool m_languageDescriptionHasBeenSet; 166 }; 167 168 } // namespace Model 169 } // namespace MediaLive 170 } // namespace Aws 171