NS_IMETHODIMP MobileConnectionCallback::NotifyGetClirStatusSuccess(uint16_t aN, uint16_t aM) { MozClirStatus result; result.mN.Construct(aN); result.mM.Construct(aM); AutoJSAPI jsapi; if (NS_WARN_IF(!jsapi.Init(mWindow))) { return NS_ERROR_FAILURE; } JSContext* cx = jsapi.cx(); JS::Rooted<JS::Value> jsResult(cx); if (!ToJSValue(cx, result, &jsResult)) { jsapi.ClearException(); return NS_ERROR_TYPE_ERR; } return NotifySuccess(jsResult); };
NS_IMETHODIMP MobileConnectionCallback::NotifyGetCallBarringSuccess(uint16_t aProgram, bool aEnabled, uint16_t aServiceClass) { MozCallBarringOptions result; result.mProgram.Construct().SetValue(aProgram); result.mEnabled.Construct().SetValue(aEnabled); result.mServiceClass.Construct().SetValue(aServiceClass); AutoJSAPI jsapi; if (NS_WARN_IF(!jsapi.Init(mWindow))) { return NS_ERROR_FAILURE; } JSContext* cx = jsapi.cx(); JS::Rooted<JS::Value> jsResult(cx); if (!ToJSValue(cx, result, &jsResult)) { JS_ClearPendingException(cx); return NS_ERROR_TYPE_ERR; } return NotifySuccess(jsResult); }