OSDN Git Service

Add rilRequestBaseBandVersion, RspString and cleaned up some debug output.
authorWink Saville <wink@google.com>
Thu, 29 Jul 2010 23:59:50 +0000 (16:59 -0700)
committerWink Saville <wink@google.com>
Fri, 30 Jul 2010 01:53:20 +0000 (18:53 -0700)
Also missed reordering in SimulatedRadio and SimulatedIcc in the previous
change so did that in this change.

Change-Id: I18c51a5ac175166301df97ef7517b8a706140754

mock-ril/src/cpp/requests.cpp
mock-ril/src/cpp/responses.cpp
mock-ril/src/js/mock_ril.js
mock-ril/src/js/simulated_icc.js
mock-ril/src/js/simulated_radio.js

index 6d0800e..e3a816e 100644 (file)
@@ -277,6 +277,7 @@ int requestsInit(v8::Handle<v8::Context> context, RilRequestWorkerQueue **rwq) {
     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);
index b7c9b00..459f129 100644 (file)
@@ -89,6 +89,24 @@ RIL_Errno RspStrings(
 }
 
 /**
+ * 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(
@@ -347,6 +365,7 @@ int responsesInit(v8::Handle<v8::Context> context) {
     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);
index 5810350..db8da02 100644 (file)
@@ -78,6 +78,9 @@ var gRadioState = RADIO_STATE_UNAVAILABLE;
 // 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();
@@ -146,11 +149,11 @@ var dispatchTable = new Array();
 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',
@@ -167,6 +170,9 @@ dispatchTable[RIL_REQUEST_OPERATOR] = { // 22
 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',
@@ -218,7 +224,7 @@ function onRilRequest(reqNum, token, requestProtobuf) {
         }
 
         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++) {
@@ -231,6 +237,7 @@ function onRilRequest(reqNum, token, requestProtobuf) {
         // print('onRilRequest X: reqNum=' + reqNum + ' token=' + token);
     } catch (err) {
         print('onRilRequest X: Exception err=' + err);
+        return('onRilRequest X: Exception err=' + err);
     }
     return 'onRilRequest X';
 }
index 0fc5116..804df8c 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * Simulated Icc
  */
-function SimulatedIcc() {
+function Icc() {
 
      function RilCardStatus() {
         this.cardState = 0;
@@ -32,8 +32,8 @@ function SimulatedIcc() {
     // 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;
@@ -42,8 +42,8 @@ function SimulatedIcc() {
         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;
@@ -52,8 +52,8 @@ function SimulatedIcc() {
         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';
@@ -69,7 +69,7 @@ function SimulatedIcc() {
      */
     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;
@@ -79,7 +79,7 @@ function SimulatedIcc() {
             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;
             }
 
@@ -88,23 +88,23 @@ function SimulatedIcc() {
                         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);
 });
index 707b790..c8536a6 100644 (file)
@@ -17,7 +17,7 @@
 /**
  * Simulated Radio
  */
-function SimulatedRadio() {
+function Radio() {
     var registrationState = '1';
     var lac = '0';
     var cid = '0';
@@ -39,19 +39,13 @@ function SimulatedRadio() {
     // 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();
@@ -59,14 +53,25 @@ function SimulatedRadio() {
         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();
@@ -74,25 +79,14 @@ function SimulatedRadio() {
         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();
@@ -103,12 +97,28 @@ function SimulatedRadio() {
         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;
@@ -118,7 +128,7 @@ function SimulatedRadio() {
             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;
             }
 
@@ -127,14 +137,14 @@ function SimulatedRadio() {
                         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;
@@ -144,13 +154,15 @@ function SimulatedRadio() {
                 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);
 });