rilReqConversionMap[RIL_REQUEST_GPRS_REGISTRATION_STATE] = ReqWithNoData; // 21
rilReqConversionMap[RIL_REQUEST_OPERATOR] = ReqWithNoData; // 22
rilReqConversionMap[RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE] = ReqWithNoData; // 45
+ rilReqConversionMap[RIL_REQUEST_BASEBAND_VERSION] = ReqWithNoData; // 51
rilReqConversionMap[RIL_REQUEST_SCREEN_STATE] = ReqScreenState; // 61
*rwq = new RilRequestWorkerQueue(context);
}
/**
+ * Handle response for a string
+ */
+RIL_Errno RspString(
+ int cmd, RIL_Token token, RIL_Errno rilErrno, Buffer *buffer) {
+ DBG("RspString E");
+
+ ril_proto::RspStrings *rsp = new ril_proto::RspStrings();
+ rsp->ParseFromArray(buffer->data(), buffer->length());
+ const char *result = rsp->strings(0).c_str();
+
+ // Complete the request
+ s_rilenv->OnRequestComplete(token, rilErrno, (void *)result, strlen(result));
+
+ DBG("RspString X rilErrno=%d", rilErrno);
+ return rilErrno;
+}
+
+/**
* Handle response for an array of integers
*/
RIL_Errno RspIntegers(
rilRspConversionMap[RIL_REQUEST_GPRS_REGISTRATION_STATE] = RspStrings; // 21
rilRspConversionMap[RIL_REQUEST_OPERATOR] = RspOperator; // 22
rilRspConversionMap[RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE] = RspIntegers; // 45
+ rilRspConversionMap[RIL_REQUEST_BASEBAND_VERSION] = RspString; // 51
rilRspConversionMap[RIL_REQUEST_SCREEN_STATE] = RspWithNoData; // 61
LOGD("responsesInit X: status=%d", status);
// The state of the screen
var gScreenState = 0;
+// The base band version
+var gBaseBandVersion = 'mock-ril 0.1';
+
// Empty Protobuf, defined here so we don't have
// to recreate an empty Buffer frequently
var emptyProtobuf = new Buffer();
dispatchTable[RIL_REQUEST_GET_SIM_STATUS] = { // 1
'components' : [simulatedIccWorker],
'schemaName' : 'ReqGetSimStatus',
-},
+};
dispatchTable[RIL_REQUEST_ENTER_SIM_PIN] = { // 2
'components' : [simulatedIccWorker],
'schemaName' : 'ReqEnterSimPin',
-},
+};
dispatchTable[RIL_REQUEST_HANGUP] = { // 12
'components' : [simulatedRadioWorker],
'schemaName' : 'ReqHangUp',
dispatchTable[RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE] = { // 45
'components' : [simulatedRadioWorker],
};
+dispatchTable[RIL_REQUEST_BASEBAND_VERSION ] = { // 51
+ 'components' : [simulatedRadioWorker],
+};
dispatchTable[RIL_REQUEST_SCREEN_STATE] = { // 61
'components' : [simulatedRadioWorker],
'schemaName' : 'ReqScreenState',
}
try {
- print('onRilRequest: get entry from dispatchTable reqNum=' + reqNum);
+ // print('onRilRequest: get entry from dispatchTable reqNum=' + reqNum);
entry = dispatchTable[reqNum];
req = new Request(reqNum, token, requestProtobuf, rilSchema, entry.schemaName);
for(i = 0; i < entry.components.length; i++) {
// print('onRilRequest X: reqNum=' + reqNum + ' token=' + token);
} catch (err) {
print('onRilRequest X: Exception err=' + err);
+ return('onRilRequest X: Exception err=' + err);
}
return 'onRilRequest X';
}
/**
* Simulated Icc
*/
-function SimulatedIcc() {
+function Icc() {
function RilCardStatus() {
this.cardState = 0;
// The result returned by the request handlers
var result = new Object();
- this.rilRequestGetSimStatus = function(req) {
- print('rilRequestGetSimStatus');
+ this.rilRequestGetSimStatus = function(req) { // 1
+ print('Icc: rilRequestGetSimStatus');
var rsp = new Object();
rsp.cardStatus = cardStatus;
return result;
}
- this.rilRequestEnterSimPin = function(req) {
- print('rilRequestEnterSimPin req.data.pin=' + req.data.pin);
+ this.rilRequestEnterSimPin = function(req) { // 2
+ print('Icc: rilRequestEnterSimPin req.data.pin=' + req.data.pin);
var rsp = Object();
rsp.retriesRemaining = 3;
return result;
}
- this.rilRequestOperator = function(req) {
- print('rilRequestOperator');
+ this.rilRequestOperator = function(req) { // 22
+ print('Icc: rilRequestOperator');
var rsp = Object();
rsp.longAlphaOns = 'Mock-Ril long Alpha Ons';
*/
this.process = function(req) {
try {
- print('SimulatedIcc E: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
+ // print('Icc E: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
// Assume the result will be true, successful and nothing to return
result.sendResponse = true;
try {
result = this.simDispatchTable[req.reqNum](req);
} catch (err) {
- print('SimulatedIcc: Unknown reqNum=' + reqNum);
+ print('Icc: Unknown reqNum=' + reqNum);
result.rilErrCode = RIL_E_REQUEST_NOT_SUPPORTED;
}
req.token, result.responseProtobuf);
}
- print('SimulatedIcc X: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
+ // print('Icc X: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
} catch (err) {
- print('SimulatedIcc X: Exception req.reqNum=' +
+ print('Icc X: Exception req.reqNum=' +
req.reqNum + ' req.token=' + req.token + ' err=' + err);
}
}
- print('SimulatedIcc() ctor E');
+ print('Icc: constructor E');
this.simDispatchTable = new Array();
this.simDispatchTable[RIL_REQUEST_GET_SIM_STATUS] = this.rilRequestGetSimStatus; // 1
this.simDispatchTable[RIL_REQUEST_ENTER_SIM_PIN] = this.rilRequestEnterSimPin; // 2
this.simDispatchTable[RIL_REQUEST_OPERATOR] = this.rilRequestOperator; // 22
- print('SimulatedIcc() ctor X');
+ print('Icc: constructor X');
}
// The simulated sim instance and its associated Worker
-var simulatedIcc = new SimulatedIcc()
+var simulatedIcc = new Icc()
var simulatedIccWorker = new Worker(function (req) {
simulatedIcc.process(req);
});
/**
* Simulated Radio
*/
-function SimulatedRadio() {
+function Radio() {
var registrationState = '1';
var lac = '0';
var cid = '0';
// The result returned by the request handlers
var result = new Object();
- this.rilRequestHangUp = function(req) {
- print('rilRequestHangUp data.connection_index=' + req.data.connectionIndex);
+ this.rilRequestHangUp = function(req) { // 12
+ print('Radio: rilRequestHangUp data.connection_index=' + req.data.connectionIndex);
return result;
}
- this.rilRequestScreenState = function (req) {
- print('rilRequestScreenState: req.data.state=' + req.data.state);
- gScreenState = req.data.state;
- return result;
- }
-
- this.rilRequestGprsRegistrationState = function(req) {
- print('rilRequestGprsRegistrationState E');
+ this.rilRequestRegistrationState = function(req) { // 20
+ print('Radio: rilRequestRegistrationState');
var rsp = Object();
rsp.strings = Array();
rsp.strings[1] = lac;
rsp.strings[2] = cid;
rsp.strings[3] = radioTechnology;
+ rsp.strings[4] = baseStationId;
+ rsp.strings[5] = baseStationLatitude;
+ rsp.strings[6] = baseStationLongitude;
+ rsp.strings[7] = concurrentServices;
+ rsp.strings[8] = systemId;
+ rsp.strings[9] = networkId;
+ rsp.strings[10] = roamingIndicator;
+ rsp.strings[11] = prlActive;
+ rsp.strings[12] = defaultRoamingIndicator;
+ rsp.strings[13] = registrationDeniedReason;
+ rsp.strings[14] = primaryScrambingCode;
result.responseProtobuf = rilSchema[packageNameAndSeperator +
'RspStrings'].serialize(rsp);
return result;
}
- this.rilRequestRegistrationState = function(req) {
- print('rilRequestRegistrationState');
+ this.rilRequestGprsRegistrationState = function(req) { // 21
+ print('Radio: rilRequestGprsRegistrationState');
var rsp = Object();
rsp.strings = Array();
rsp.strings[1] = lac;
rsp.strings[2] = cid;
rsp.strings[3] = radioTechnology;
- rsp.strings[4] = baseStationId;
- rsp.strings[5] = baseStationLatitude;
- rsp.strings[6] = baseStationLongitude;
- rsp.strings[7] = concurrentServices;
- rsp.strings[8] = systemId;
- rsp.strings[9] = networkId;
- rsp.strings[10] = roamingIndicator;
- rsp.strings[11] = prlActive;
- rsp.strings[12] = defaultRoamingIndicator;
- rsp.strings[13] = registrationDeniedReason;
- rsp.strings[14] = primaryScrambingCode;
result.responseProtobuf = rilSchema[packageNameAndSeperator +
'RspStrings'].serialize(rsp);
return result;
}
- this.rilRequestQueryNeworkSelectionMode = function(req) {
- print('rilRequestQueryNeworkSelectionMode');
+ this.rilRequestQueryNeworkSelectionMode = function(req) { // 45
+ print('Radio: rilRequestQueryNeworkSelectionMode');
var rsp = Object();
rsp.integers = Array();
return result;
}
+ this.rilRequestBaseBandVersion = function (req) { // 51
+ print('Radio: rilRequestBaseBandVersion');
+ var rsp = Object();
+ rsp.strings = Array();
+ rsp.strings[0] = gBaseBandVersion;
+
+ result.responseProtobuf = rilSchema[packageNameAndSeperator +
+ 'RspStrings'].serialize(rsp);
+ return result;
+ }
+
+ this.rilRequestScreenState = function (req) { // 61
+ print('Radio: rilRequestScreenState: req.data.state=' + req.data.state);
+ screenState = req.data.state;
+ return result;
+ }
/**
* Process the request
*/
this.process = function(req) {
try {
- print('SimulatedRadio E: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
+ //print('Radio E: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
// Assume the result will be true, successful and nothing to return
result.sendResponse = true;
try {
result = this.radioDispatchTable[req.reqNum](req);
} catch (err) {
- print('SimulatedRadio: Unknown reqNum=' + req.reqNum);
+ print('Radio: Unknown reqNum=' + req.reqNum);
result.rilErrCode = RIL_E_REQUEST_NOT_SUPPORTED;
}
req.token, result.responseProtobuf);
}
- print('SimulatedRadio X: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
+ //print('Radio X: req.reqNum=' + req.reqNum + ' req.token=' + req.token);
} catch (err) {
- print('SimulatedRadio X: Exception req.reqNum=' +
+ print('Radio: Exception req.reqNum=' +
req.reqNum + ' req.token=' + req.token + ' err=' + err);
}
}
- print('SimulatedRadio() ctor E');
+ print('Radio: constructor E');
this.radioDispatchTable = new Array();
this.radioDispatchTable[RIL_REQUEST_HANGUP] = // 12
this.rilRequestHangUp;
this.rilRequestGprsRegistrationState;
this.radioDispatchTable[RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE] = // 45
this.rilRequestQueryNeworkSelectionMode;
+ this.radioDispatchTable[RIL_REQUEST_BASEBAND_VERSION] = // 51
+ this.rilRequestBaseBandVersion;
this.radioDispatchTable[RIL_REQUEST_SCREEN_STATE] = // 61
this.rilRequestScreenState;
- print('SimulatedRadio() ctor X');
+ print('Radio: constructor X');
}
// The simulated radio instance and its associated Worker
-var simulatedRadio = new SimulatedRadio()
+var simulatedRadio = new Radio()
var simulatedRadioWorker = new Worker(function (req) {
simulatedRadio.process(req);
});