1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef mozilla_dom_TVUtils_h
8 #define mozilla_dom_TVUtils_h
10 // Include TVChannelBinding.h since enum TVChannelType can't be forward declared.
11 #include "mozilla/dom/TVChannelBinding.h"
12 // Include TVSourceBinding.h since enum TVSourceType can't be forward declared.
13 #include "mozilla/dom/TVSourceBinding.h"
19 ToTVSourceTypeStr(const TVSourceType aSourceType
)
21 MOZ_ASSERT(uint32_t(aSourceType
) < ArrayLength(TVSourceTypeValues::strings
));
24 str
.AssignASCII(TVSourceTypeValues::strings
[uint32_t(aSourceType
)].value
);
29 ToTVSourceType(const nsAString
& aStr
)
31 if (aStr
.EqualsLiteral("dvb-t")) {
32 return TVSourceType::Dvb_t
;
35 if (aStr
.EqualsLiteral("dvb-t2")) {
36 return TVSourceType::Dvb_t2
;
39 if (aStr
.EqualsLiteral("dvb-c")) {
40 return TVSourceType::Dvb_c
;
43 if (aStr
.EqualsLiteral("dvb-c2")) {
44 return TVSourceType::Dvb_c2
;
47 if (aStr
.EqualsLiteral("dvb-s")) {
48 return TVSourceType::Dvb_s
;
51 if (aStr
.EqualsLiteral("dvb-s2")) {
52 return TVSourceType::Dvb_s2
;
55 if (aStr
.EqualsLiteral("dvb-h")) {
56 return TVSourceType::Dvb_h
;
59 if (aStr
.EqualsLiteral("dvb-sh")) {
60 return TVSourceType::Dvb_sh
;
63 if (aStr
.EqualsLiteral("atsc")) {
64 return TVSourceType::Atsc
;
67 if (aStr
.EqualsLiteral("atsc-m/h")) {
68 return TVSourceType::Atsc_m_h
;
71 if (aStr
.EqualsLiteral("isdb-t")) {
72 return TVSourceType::Isdb_t
;
75 if (aStr
.EqualsLiteral("isdb-tb")) {
76 return TVSourceType::Isdb_tb
;
79 if (aStr
.EqualsLiteral("isdb-s")) {
80 return TVSourceType::Isdb_s
;
83 if (aStr
.EqualsLiteral("isdb-c")) {
84 return TVSourceType::Isdb_c
;
87 if (aStr
.EqualsLiteral("1seg")) {
88 return TVSourceType::_1seg
;
91 if (aStr
.EqualsLiteral("dtmb")) {
92 return TVSourceType::Dtmb
;
95 if (aStr
.EqualsLiteral("cmmb")) {
96 return TVSourceType::Cmmb
;
99 if (aStr
.EqualsLiteral("t-dmb")) {
100 return TVSourceType::T_dmb
;
103 if (aStr
.EqualsLiteral("s-dmb")) {
104 return TVSourceType::S_dmb
;
107 return TVSourceType::EndGuard_
;
111 ToTVSourceType(const char* aStr
)
114 str
.AssignASCII(aStr
);
115 return ToTVSourceType(str
);
119 ToTVChannelType(const nsAString
& aStr
)
121 if (aStr
.EqualsLiteral("tv")) {
122 return TVChannelType::Tv
;
125 if (aStr
.EqualsLiteral("radio")) {
126 return TVChannelType::Radio
;
129 if (aStr
.EqualsLiteral("data")) {
130 return TVChannelType::Data
;
133 return TVChannelType::EndGuard_
;
137 } // namespace mozilla
139 #endif // mozilla_dom_TVUtils_h