Bumping manifests a=b2g-bump
[gecko.git] / dom / tv / TVUtils.h
blob7e0f07949198993959a1fc433d93b21f8792a15f
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"
15 namespace mozilla {
16 namespace dom {
18 inline nsString
19 ToTVSourceTypeStr(const TVSourceType aSourceType)
21 MOZ_ASSERT(uint32_t(aSourceType) < ArrayLength(TVSourceTypeValues::strings));
23 nsString str;
24 str.AssignASCII(TVSourceTypeValues::strings[uint32_t(aSourceType)].value);
25 return str;
28 inline TVSourceType
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_;
110 inline TVSourceType
111 ToTVSourceType(const char* aStr)
113 nsString str;
114 str.AssignASCII(aStr);
115 return ToTVSourceType(str);
118 inline TVChannelType
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_;
136 } // namespace dom
137 } // namespace mozilla
139 #endif // mozilla_dom_TVUtils_h