1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include "mozilla/dom/MozIccBinding.h"
6 #include "nsIIccProvider.h"
12 #define ASSERT_EQUALITY(webidlType, webidlState, xpidlState) \
13 static_assert(static_cast<uint32_t>(webidlType::webidlState) == nsIIccProvider::xpidlState, \
14 #webidlType "::" #webidlState " should equal to nsIIccProvider::" #xpidlState)
19 #define ASSERT_ICC_CARD_STATE_EQUALITY(webidlState, xpidlState) \
20 ASSERT_EQUALITY(IccCardState, webidlState, xpidlState)
22 ASSERT_ICC_CARD_STATE_EQUALITY(Unknown
, CARD_STATE_UNKNOWN
);
23 ASSERT_ICC_CARD_STATE_EQUALITY(Ready
, CARD_STATE_READY
);
24 ASSERT_ICC_CARD_STATE_EQUALITY(PinRequired
, CARD_STATE_PIN_REQUIRED
);
25 ASSERT_ICC_CARD_STATE_EQUALITY(PukRequired
, CARD_STATE_PUK_REQUIRED
);
26 ASSERT_ICC_CARD_STATE_EQUALITY(PermanentBlocked
, CARD_STATE_PERMANENT_BLOCKED
);
27 ASSERT_ICC_CARD_STATE_EQUALITY(PersonalizationInProgress
, CARD_STATE_PERSONALIZATION_IN_PROGRESS
);
28 ASSERT_ICC_CARD_STATE_EQUALITY(PersonalizationReady
, CARD_STATE_PERSONALIZATION_READY
);
29 ASSERT_ICC_CARD_STATE_EQUALITY(NetworkLocked
, CARD_STATE_NETWORK_LOCKED
);
30 ASSERT_ICC_CARD_STATE_EQUALITY(NetworkSubsetLocked
, CARD_STATE_NETWORK_SUBSET_LOCKED
);
31 ASSERT_ICC_CARD_STATE_EQUALITY(CorporateLocked
, CARD_STATE_CORPORATE_LOCKED
);
32 ASSERT_ICC_CARD_STATE_EQUALITY(ServiceProviderLocked
, CARD_STATE_SERVICE_PROVIDER_LOCKED
);
33 ASSERT_ICC_CARD_STATE_EQUALITY(SimPersonalizationLocked
, CARD_STATE_SIM_LOCKED
);
34 ASSERT_ICC_CARD_STATE_EQUALITY(NetworkPukRequired
, CARD_STATE_NETWORK_PUK_REQUIRED
);
35 ASSERT_ICC_CARD_STATE_EQUALITY(NetworkSubsetPukRequired
, CARD_STATE_NETWORK_SUBSET_PUK_REQUIRED
);
36 ASSERT_ICC_CARD_STATE_EQUALITY(CorporatePukRequired
, CARD_STATE_CORPORATE_PUK_REQUIRED
);
37 ASSERT_ICC_CARD_STATE_EQUALITY(ServiceProviderPukRequired
, CARD_STATE_SERVICE_PROVIDER_PUK_REQUIRED
);
38 ASSERT_ICC_CARD_STATE_EQUALITY(SimPersonalizationPukRequired
, CARD_STATE_SIM_PUK_REQUIRED
);
39 ASSERT_ICC_CARD_STATE_EQUALITY(Network1Locked
, CARD_STATE_NETWORK1_LOCKED
);
40 ASSERT_ICC_CARD_STATE_EQUALITY(Network2Locked
, CARD_STATE_NETWORK2_LOCKED
);
41 ASSERT_ICC_CARD_STATE_EQUALITY(HrpdNetworkLocked
, CARD_STATE_HRPD_NETWORK_LOCKED
);
42 ASSERT_ICC_CARD_STATE_EQUALITY(RuimCorporateLocked
, CARD_STATE_RUIM_CORPORATE_LOCKED
);
43 ASSERT_ICC_CARD_STATE_EQUALITY(RuimServiceProviderLocked
, CARD_STATE_RUIM_SERVICE_PROVIDER_LOCKED
);
44 ASSERT_ICC_CARD_STATE_EQUALITY(RuimPersonalizationLocked
, CARD_STATE_RUIM_LOCKED
);
45 ASSERT_ICC_CARD_STATE_EQUALITY(Network1PukRequired
, CARD_STATE_NETWORK1_PUK_REQUIRED
);
46 ASSERT_ICC_CARD_STATE_EQUALITY(Network2PukRequired
, CARD_STATE_NETWORK2_PUK_REQUIRED
);
47 ASSERT_ICC_CARD_STATE_EQUALITY(HrpdNetworkPukRequired
, CARD_STATE_HRPD_NETWORK_PUK_REQUIRED
);
48 ASSERT_ICC_CARD_STATE_EQUALITY(RuimCorporatePukRequired
, CARD_STATE_RUIM_CORPORATE_PUK_REQUIRED
);
49 ASSERT_ICC_CARD_STATE_EQUALITY(RuimServiceProviderPukRequired
, CARD_STATE_RUIM_SERVICE_PROVIDER_PUK_REQUIRED
);
50 ASSERT_ICC_CARD_STATE_EQUALITY(RuimPersonalizationPukRequired
, CARD_STATE_RUIM_PUK_REQUIRED
);
51 ASSERT_ICC_CARD_STATE_EQUALITY(Illegal
, CARD_STATE_ILLEGAL
);
53 #undef ASSERT_ICC_CARD_STATE_EQUALITY
58 #define ASSERT_ICC_LOCK_TYPE_EQUALITY(webidlState, xpidlState) \
59 ASSERT_EQUALITY(IccLockType, webidlState, xpidlState)
61 ASSERT_ICC_LOCK_TYPE_EQUALITY(Pin
, CARD_LOCK_TYPE_PIN
);
62 ASSERT_ICC_LOCK_TYPE_EQUALITY(Pin2
, CARD_LOCK_TYPE_PIN2
);
63 ASSERT_ICC_LOCK_TYPE_EQUALITY(Puk
, CARD_LOCK_TYPE_PUK
);
64 ASSERT_ICC_LOCK_TYPE_EQUALITY(Puk2
, CARD_LOCK_TYPE_PUK2
);
65 ASSERT_ICC_LOCK_TYPE_EQUALITY(Nck
, CARD_LOCK_TYPE_NCK
);
66 ASSERT_ICC_LOCK_TYPE_EQUALITY(Nsck
, CARD_LOCK_TYPE_NSCK
);
67 ASSERT_ICC_LOCK_TYPE_EQUALITY(Nck1
, CARD_LOCK_TYPE_NCK1
);
68 ASSERT_ICC_LOCK_TYPE_EQUALITY(Nck2
, CARD_LOCK_TYPE_NCK2
);
69 ASSERT_ICC_LOCK_TYPE_EQUALITY(Hnck
, CARD_LOCK_TYPE_HNCK
);
70 ASSERT_ICC_LOCK_TYPE_EQUALITY(Cck
, CARD_LOCK_TYPE_CCK
);
71 ASSERT_ICC_LOCK_TYPE_EQUALITY(Spck
, CARD_LOCK_TYPE_SPCK
);
72 ASSERT_ICC_LOCK_TYPE_EQUALITY(Pck
, CARD_LOCK_TYPE_PCK
);
73 ASSERT_ICC_LOCK_TYPE_EQUALITY(Rcck
, CARD_LOCK_TYPE_RCCK
);
74 ASSERT_ICC_LOCK_TYPE_EQUALITY(Rspck
, CARD_LOCK_TYPE_RSPCK
);
75 ASSERT_ICC_LOCK_TYPE_EQUALITY(NckPuk
, CARD_LOCK_TYPE_NCK_PUK
);
76 ASSERT_ICC_LOCK_TYPE_EQUALITY(NsckPuk
, CARD_LOCK_TYPE_NSCK_PUK
);
77 ASSERT_ICC_LOCK_TYPE_EQUALITY(Nck1Puk
, CARD_LOCK_TYPE_NCK1_PUK
);
78 ASSERT_ICC_LOCK_TYPE_EQUALITY(Nck2Puk
, CARD_LOCK_TYPE_NCK2_PUK
);
79 ASSERT_ICC_LOCK_TYPE_EQUALITY(HnckPuk
, CARD_LOCK_TYPE_HNCK_PUK
);
80 ASSERT_ICC_LOCK_TYPE_EQUALITY(CckPuk
, CARD_LOCK_TYPE_CCK_PUK
);
81 ASSERT_ICC_LOCK_TYPE_EQUALITY(SpckPuk
, CARD_LOCK_TYPE_SPCK_PUK
);
82 ASSERT_ICC_LOCK_TYPE_EQUALITY(PckPuk
, CARD_LOCK_TYPE_PCK_PUK
);
83 ASSERT_ICC_LOCK_TYPE_EQUALITY(RcckPuk
, CARD_LOCK_TYPE_RCCK_PUK
);
84 ASSERT_ICC_LOCK_TYPE_EQUALITY(RspckPuk
, CARD_LOCK_TYPE_RSPCK_PUK
);
85 ASSERT_ICC_LOCK_TYPE_EQUALITY(Fdn
, CARD_LOCK_TYPE_FDN
);
87 #undef ASSERT_ICC_LOCK_TYPE_EQUALITY
92 #define ASSERT_ICC_CONTACT_TYPE_EQUALITY(webidlState, xpidlState) \
93 ASSERT_EQUALITY(IccContactType, webidlState, xpidlState)
95 ASSERT_ICC_CONTACT_TYPE_EQUALITY(Adn
, CARD_CONTACT_TYPE_ADN
);
96 ASSERT_ICC_CONTACT_TYPE_EQUALITY(Fdn
, CARD_CONTACT_TYPE_FDN
);
97 ASSERT_ICC_CONTACT_TYPE_EQUALITY(Sdn
, CARD_CONTACT_TYPE_SDN
);
99 #undef ASSERT_ICC_CONTACT_TYPE_EQUALITY
104 #define ASSERT_ICC_MVNO_TYPE_EQUALITY(webidlState, xpidlState) \
105 ASSERT_EQUALITY(IccMvnoType, webidlState, xpidlState)
107 ASSERT_ICC_MVNO_TYPE_EQUALITY(Imsi
, CARD_MVNO_TYPE_IMSI
);
108 ASSERT_ICC_MVNO_TYPE_EQUALITY(Spn
, CARD_MVNO_TYPE_SPN
);
109 ASSERT_ICC_MVNO_TYPE_EQUALITY(Gid
, CARD_MVNO_TYPE_GID
);
111 #undef ASSERT_ICC_MVNO_TYPE_EQUALITY
116 #define ASSERT_ICC_SERVICE_EQUALITY(webidlState, xpidlState) \
117 ASSERT_EQUALITY(IccService, webidlState, xpidlState)
119 ASSERT_ICC_SERVICE_EQUALITY(Fdn
, CARD_SERVICE_FDN
);
121 #undef ASSERT_ICC_SERVICE_EQUALITY
123 #undef ASSERT_EQUALITY
127 } // namespace mozilla