michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: MARIONETTE_TIMEOUT = 60000; michael@0: MARIONETTE_CONTEXT = "chrome"; michael@0: michael@0: Cu.import("resource://gre/modules/Promise.jsm"); michael@0: Cu.import("resource://gre/modules/systemlibs.js"); michael@0: michael@0: const NS_RIL_CONTRACTID = "@mozilla.org/ril;1"; michael@0: michael@0: const PROP_RO_MOZ_RIL_NUMCLIENTS = "ro.moz.ril.numclients"; michael@0: michael@0: const PREF_RIL_NUM_RADIO_INTERFACES = "ril.numRadioInterfaces"; michael@0: michael@0: ok(libcutils, "libcutils is available"); michael@0: michael@0: let propNum = (function() { michael@0: try { michael@0: let numString = libcutils.property_get(PROP_RO_MOZ_RIL_NUMCLIENTS, "1"); michael@0: let num = parseInt(numString, 10); michael@0: if (num >= 0) { michael@0: return num; michael@0: } michael@0: } catch (e) {} michael@0: })(); michael@0: michael@0: log("Retrieved '" + PROP_RO_MOZ_RIL_NUMCLIENTS + "' = " + propNum); michael@0: ok(propNum, PROP_RO_MOZ_RIL_NUMCLIENTS); michael@0: michael@0: let prefNum = Services.prefs.getIntPref(PREF_RIL_NUM_RADIO_INTERFACES); michael@0: log("Retrieved '" + PREF_RIL_NUM_RADIO_INTERFACES + "' = " + prefNum); michael@0: michael@0: let ril = Cc[NS_RIL_CONTRACTID].getService(Ci.nsIRadioInterfaceLayer); michael@0: ok(ril, "ril.constructor is " + ril.constructor); michael@0: michael@0: let ifaceNum = ril.numRadioInterfaces; michael@0: log("Retrieved 'nsIRadioInterfaceLayer.numRadioInterfaces' = " + ifaceNum); michael@0: michael@0: is(propNum, prefNum); michael@0: is(propNum, ifaceNum); michael@0: michael@0: finish();