am 60d10ec9: (-s ours) Merge from gingerbread - do not merge

* commit '60d10ec91aa9de6b4699a87557ba8f041bf34be3':
  Port RIL v4 to gingerbread from master.
diff --git a/include/telephony/ril.h b/include/telephony/ril.h
index 9cbb75a..e7e2fba 100644
--- a/include/telephony/ril.h
+++ b/include/telephony/ril.h
@@ -14,20 +14,6 @@
  * limitations under the License.
  */
 
- /* ISSUES:
- * - SMS retransmit (specifying TP-Message-ID)
- *
- */
-
-/**
- * TODO
- *
- * Supp Service Notification (+CSSN)
- * GPRS PDP context deactivate notification
- *
- */
-
-
 #ifndef ANDROID_RIL_H
 #define ANDROID_RIL_H 1
 
@@ -40,7 +26,8 @@
 extern "C" {
 #endif
 
-#define RIL_VERSION 4
+#define RIL_VERSION 6     /* Current version */
+#define RIL_VERSION_MIN 2 /* Minimum RIL_VERSION supported */
 
 #define CDMA_ALPHA_INFO_BUFFER_LENGTH 64
 #define CDMA_NUMBER_INFO_BUFFER_LENGTH 81
@@ -96,6 +83,48 @@
     RADIO_STATE_NV_READY = 9               /* Radio is on and the NV interface is available */
 } RIL_RadioState;
 
+typedef enum {
+    RADIO_TECH_UNKNOWN = 0,
+    RADIO_TECH_GPRS = 1,
+    RADIO_TECH_EDGE = 2,
+    RADIO_TECH_UMTS = 3,
+    RADIO_TECH_IS95A = 4,
+    RADIO_TECH_IS95B = 5,
+    RADIO_TECH_1xRTT =  6,
+    RADIO_TECH_EVDO_0 = 7,
+    RADIO_TECH_EVDO_A = 8,
+    RADIO_TECH_HSDPA = 9,
+    RADIO_TECH_HSUPA = 10,
+    RADIO_TECH_HSPA = 11,
+    RADIO_TECH_EVDO_B = 12,
+    RADIO_TECH_EHRPD = 13,
+    RADIO_TECH_LTE = 14,
+    RADIO_TECH_HSPAP = 15 // HSPA+
+} RIL_RadioTechnology;
+
+// Do we want to split Data from Voice and the use
+// RIL_RadioTechnology for get/setPreferredVoice/Data ?
+typedef enum {
+    PREF_NET_TYPE_GSM_WCDMA                = 0, /* GSM/WCDMA (WCDMA preferred) */
+    PREF_NET_TYPE_GSM_ONLY                 = 1, /* GSM only */
+    PREF_NET_TYPE_WCDMA                    = 2, /* WCDMA  */
+    PREF_NET_TYPE_GSM_WCDMA_AUTO           = 3, /* GSM/WCDMA (auto mode, according to PRL) */
+    PREF_NET_TYPE_CDMA_EVDO_AUTO           = 4, /* CDMA and EvDo (auto mode, according to PRL) */
+    PREF_NET_TYPE_CDMA_ONLY                = 5, /* CDMA only */
+    PREF_NET_TYPE_EVDO_ONLY                = 6, /* EvDo only */
+    PREF_NET_TYPE_GSM_WCDMA_CDMA_EVDO_AUTO = 7, /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) */
+    PREF_NET_TYPE_LTE_CDMA_EVDO            = 8, /* LTE, CDMA and EvDo */
+    PREF_NET_TYPE_LTE_GSM_WCDMA            = 9, /* LTE, GSM/WCDMA */
+    PREF_NET_TYPE_LTE_CMDA_EVDO_GSM_WCDMA  = 10, /* LTE, CDMA, EvDo, GSM/WCDMA */
+    PREF_NET_TYPE_LTE_ONLY                 = 11  /* LTE only */
+} RIL_PreferredNetworkType;
+
+/* Source for cdma subscription */
+typedef enum {
+   CDMA_SUBSCRIPTION_SOURCE_RUIM_SIM = 0,
+   CDMA_SUBSCRIPTION_SOURCE_NV = 1
+} RIL_CdmaSubscriptionSource;
+
 /* User-to-User signaling Info activation types derived from 3GPP 23.087 v8.0 */
 typedef enum {
     RIL_UUS_TYPE1_IMPLICIT = 0,
@@ -154,15 +183,43 @@
     RIL_UUS_Info *  uusInfo;    /* NULL or Pointer to User-User Signaling Information */
 } RIL_Call;
 
+/* Deprecated, use RIL_Data_Call_Response_v6 */
 typedef struct {
-    int             cid;        /* Context ID */
+    int             cid;        /* Context ID, uniquely identifies this call */
     int             active;     /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
     char *          type;       /* One of the PDP_type values in TS 27.007 section 10.1.1.
                                    For example, "IP", "IPV6", "IPV4V6", or "PPP". */
-    char *          apn;
-    char *          address;    /* The IPv4 or IPv6 address assigned to the call, e.g., "192.0.1.3"
-                                   or "2001:db8::1". */
-} RIL_Data_Call_Response;
+    char *          apn;        /* ignored */
+    char *          address;    /* An address, e.g., "192.0.1.3" or "2001:db8::1". */
+} RIL_Data_Call_Response_v4;
+
+/*
+ * Returned by RIL_REQUEST_SETUP_DATA_CALL, RIL_REQUEST_DATA_CALL_LIST
+ * and RIL_UNSOL_DATA_CALL_LIST_CHANGED, on error status != 0.
+ */
+typedef struct {
+    int             status;     /* A RIL_DataCallFailCause, 0 which is PDP_FAIL_NONE if no error */
+    int             cid;        /* Context ID, uniquely identifies this call */
+    int             active;     /* 0=inactive, 1=active/physical link down, 2=active/physical link up */
+    char *          type;       /* One of the PDP_type values in TS 27.007 section 10.1.1.
+                                   For example, "IP", "IPV6", "IPV4V6", or "PPP". If status is
+                                   PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED this is the type supported
+                                   such as "IP" or "IPV6" */
+    char *          ifname;     /* The network interface name */
+    char *          addresses;  /* A space-delimited list of addresses with optional "/" prefix length,
+                                   e.g., "192.0.1.3" or "192.0.1.11/16 2001:db8::1/64".
+                                   May not be empty, typically 1 IPv4 or 1 IPv6 or
+                                   one of each. If the prefix length is absent the addresses
+                                   are assumed to be point to point with IPv4 having a prefix
+                                   length of 32 and IPv6 128. */
+    char *          dnses;      /* A space-delimited list of DNS server addresses,
+                                   e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
+                                   May be empty. */
+    char *          gateways;   /* A space-delimited list of default gateway addresses,
+                                   e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
+                                   May be empty in which case the addresses represent point
+                                   to point connections. */
+} RIL_Data_Call_Response_v6;
 
 typedef struct {
     int messageRef;   /* TP-Message-Reference for GSM,
@@ -211,7 +268,22 @@
     int p3;
     char *data;     /* May be NULL*/
     char *pin2;     /* May be NULL*/
-} RIL_SIM_IO;
+} RIL_SIM_IO_v5;
+
+typedef struct {
+    int command;    /* one of the commands listed for TS 27.007 +CRSM*/
+    int fileid;     /* EF id */
+    char *path;     /* "pathid" from TS 27.007 +CRSM command.
+                       Path is in hex asciii format eg "7f205f70"
+                       Path must always be provided.
+                     */
+    int p1;
+    int p2;
+    int p3;
+    char *data;     /* May be NULL*/
+    char *pin2;     /* May be NULL*/
+    char *aidPtr;   /* AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value. */
+} RIL_SIM_IO_v6;
 
 typedef struct {
     int sw1;
@@ -285,6 +357,14 @@
 
 /* See RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE */
 typedef enum {
+    PDP_FAIL_NONE = 0, /* No error, connection ok */
+
+    /* an integer cause code defined in TS 24.008
+       section 6.1.3.1.3 or TS 24.301 Release 8+ Annex B.
+       If the implementation does not have access to the exact cause codes,
+       then it should return one of the following values,
+       as the UI layer needs to distinguish these
+       cases for error notification and potential retries. */
     PDP_FAIL_OPERATOR_BARRED = 0x08,               /* no retry */
     PDP_FAIL_INSUFFICIENT_RESOURCES = 0x1A,
     PDP_FAIL_MISSING_UKNOWN_APN = 0x1B,            /* no retry */
@@ -295,13 +375,28 @@
     PDP_FAIL_SERVICE_OPTION_NOT_SUPPORTED = 0x20,  /* no retry */
     PDP_FAIL_SERVICE_OPTION_NOT_SUBSCRIBED = 0x21, /* no retry */
     PDP_FAIL_SERVICE_OPTION_OUT_OF_ORDER = 0x22,
-    PDP_FAIL_NSAPI_IN_USE      = 0x23,             /* no retry */
+    PDP_FAIL_NSAPI_IN_USE = 0x23,                  /* no retry */
+    PDP_FAIL_ONLY_IPV4_ALLOWED = 0x32,             /* no retry */
+    PDP_FAIL_ONLY_IPV6_ALLOWED = 0x33,             /* no retry */
+    PDP_FAIL_ONLY_SINGLE_BEARER_ALLOWED = 0x34,
     PDP_FAIL_PROTOCOL_ERRORS   = 0x6F,             /* no retry */
-    PDP_FAIL_ERROR_UNSPECIFIED = 0xffff,  /* This and all other cases: retry silently */
+
     /* Not mentioned in the specification */
-    PDP_FAIL_REGISTRATION_FAIL = -1,
-    PDP_FAIL_GPRS_REGISTRATION_FAIL = -2,
-} RIL_LastDataCallActivateFailCause;
+    PDP_FAIL_VOICE_REGISTRATION_FAIL = -1,
+    PDP_FAIL_DATA_REGISTRATION_FAIL = -2,
+
+   /* reasons for data call drop - network/modem disconnect */
+    PDP_FAIL_SIGNAL_LOST = -3,            /* no retry */
+    PDP_FAIL_PREF_RADIO_TECH_CHANGED = -4,/* preferred technology has changed, should retry
+                                             with parameters appropriate for new technology */
+    PDP_FAIL_RADIO_POWER_OFF = -5,        /* data call was disconnected because radio was resetting,
+                                             powered off - no retry */
+    PDP_FAIL_TETHERED_CALL_ACTIVE = -6,   /* data call was disconnected by modem because tethered
+                                             mode was up on same APN/data profile - no retry until
+                                             tethered call is off */
+
+    PDP_FAIL_ERROR_UNSPECIFIED = 0xffff,  /* retry silently */
+} RIL_DataCallFailCause;
 
 /* See RIL_REQUEST_SETUP_DATA_CALL */
 typedef enum {
@@ -387,7 +482,8 @@
   RIL_APPTYPE_SIM     = 1,
   RIL_APPTYPE_USIM    = 2,
   RIL_APPTYPE_RUIM    = 3,
-  RIL_APPTYPE_CSIM    = 4
+  RIL_APPTYPE_CSIM    = 4,
+  RIL_APPTYPE_ISIM    = 5
 } RIL_AppType;
 
 typedef struct
@@ -399,37 +495,61 @@
   char             *aid_ptr;        /* null terminated string, e.g., from 0xA0, 0x00 -> 0x41,
                                        0x30, 0x30, 0x30 */
   char             *app_label_ptr;  /* null terminated string */
-  int              pin1_replaced;   /* applicable to USIM and CSIM */
+  int              pin1_replaced;   /* applicable to USIM, CSIM & ISIM */
   RIL_PinState     pin1;
   RIL_PinState     pin2;
 } RIL_AppStatus;
 
+/* Deprecated, use RIL_CardStatus_v6 */
+typedef struct
+{
+  RIL_CardState card_state;
+  RIL_PinState  universal_pin_state;             /* applicable to USIM and CSIM: RIL_PINSTATE_xxx */
+  int           gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
+  int           cdma_subscription_app_index;     /* value < RIL_CARD_MAX_APPS, -1 if none */
+  int           num_applications;                /* value <= RIL_CARD_MAX_APPS */
+  RIL_AppStatus applications[RIL_CARD_MAX_APPS];
+} RIL_CardStatus_v5;
+
 typedef struct
 {
   RIL_CardState card_state;
   RIL_PinState  universal_pin_state;             /* applicable to USIM and CSIM: RIL_PINSTATE_xxx */
-  int           gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS */
-  int           cdma_subscription_app_index;     /* value < RIL_CARD_MAX_APPS */
+  int           gsm_umts_subscription_app_index; /* value < RIL_CARD_MAX_APPS, -1 if none */
+  int           cdma_subscription_app_index;     /* value < RIL_CARD_MAX_APPS, -1 if none */
+  int           ims_subscription_app_index;      /* value < RIL_CARD_MAX_APPS, -1 if none */
   int           num_applications;                /* value <= RIL_CARD_MAX_APPS */
   RIL_AppStatus applications[RIL_CARD_MAX_APPS];
-} RIL_CardStatus;
+} RIL_CardStatus_v6;
 
 /* The result of a SIM refresh, returned in data[0] of RIL_UNSOL_SIM_REFRESH */
 typedef enum {
     /* A file on SIM has been updated.  data[1] contains the EFID. */
     SIM_FILE_UPDATE = 0,
-    /* SIM initialized.  All files should be re-read. */
+    /* SIM initialized.  All files should be re-read. data[1] contains AID that caused REFRESH */
     SIM_INIT = 1,
     /* SIM reset.  SIM power required, SIM may be locked and all files should be re-read. */
     SIM_RESET = 2
 } RIL_SimRefreshResult;
 
+/* Deprecated, use RIL_CDMA_CallWaiting_v6 */
+typedef struct {
+    char *          number;             /* Remote party number */
+    int             numberPresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown */
+    char *          name;               /* Remote party name */
+    RIL_CDMA_SignalInfoRecord signalInfoRecord;
+} RIL_CDMA_CallWaiting_v5;
+
 typedef struct {
     char *          number;             /* Remote party number */
     int             numberPresentation; /* 0=Allowed, 1=Restricted, 2=Not Specified/Unknown */
     char *          name;               /* Remote party name */
     RIL_CDMA_SignalInfoRecord signalInfoRecord;
-} RIL_CDMA_CallWaiting;
+    /* Number type/Number plan required to support International Call Waiting */
+    int             number_type;        /* 0=Unknown, 1=International, 2=National,
+                                           3=Network specific, 4=subscriber */
+    int             number_plan;        /* 0=Unknown, 1=ISDN, 3=Data, 4=Telex, 8=Nat'l, 9=Private */
+} RIL_CDMA_CallWaiting_v6;
 
 /**
  * Which types of Cell Broadcast Message (CBM) are to be received by the ME
@@ -515,12 +635,29 @@
     int signalNoiseRatio; /* Valid values are 0-8.  8 is the highest signal to noise ratio. */
 } RIL_EVDO_SignalStrength;
 
+typedef struct {
+    int signalStrength;  /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */
+    int rsrp;            /* The current Reference Signal Receive Power in dBm
+                          * multipled by -1. Range: 44 to 140 dBm, TODO: doc reference */
+    int rsrq;            /* The current Reference Signal Receive Quality in dB
+                          * multiplied by -1. Range: 20 to 3 dB. TODO: doc reference */
+    int rssnr;           /* TODO: Need documentation and doc reference */
+    int cqi;             /* TODO: Need documentation and doc reference */
+} RIL_LTE_SignalStrength;
+
+/* Deprecated, use RIL_SignalStrength_v6 */
+typedef struct {
+    RIL_GW_SignalStrength   GW_SignalStrength;
+    RIL_CDMA_SignalStrength CDMA_SignalStrength;
+    RIL_EVDO_SignalStrength EVDO_SignalStrength;
+} RIL_SignalStrength_v5;
 
 typedef struct {
     RIL_GW_SignalStrength   GW_SignalStrength;
     RIL_CDMA_SignalStrength CDMA_SignalStrength;
     RIL_EVDO_SignalStrength EVDO_SignalStrength;
-} RIL_SignalStrength;
+    RIL_LTE_SignalStrength  LTE_SignalStrength;
+} RIL_SignalStrength_v6;
 
 /* Names of the CDMA info records (C.S0005 section 3.7.5) */
 typedef enum {
@@ -643,7 +780,7 @@
  *
  * "data" is NULL
  *
- * "response" is const RIL_CardStatus *
+ * "response" is const RIL_CardStatus_v6 *
  *
  * Valid errors:
  *  Must never fail
@@ -657,6 +794,7 @@
  *
  * "data" is const char **
  * ((const char **)data)[0] is PIN value
+ * ((const char **)data)[1] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
  *
  * "response" is int *
  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -680,6 +818,7 @@
  * "data" is const char **
  * ((const char **)data)[0] is PUK value
  * ((const char **)data)[1] is new PIN value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
  *
  * "response" is int *
  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -703,6 +842,7 @@
  *
  * "data" is const char **
  * ((const char **)data)[0] is PIN2 value
+ * ((const char **)data)[1] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
  *
  * "response" is int *
  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -725,6 +865,7 @@
  * "data" is const char **
  * ((const char **)data)[0] is PUK2 value
  * ((const char **)data)[1] is new PIN2 value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
  *
  * "response" is int *
  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -748,6 +889,7 @@
  * "data" is const char **
  * ((const char **)data)[0] is old PIN value
  * ((const char **)data)[1] is new PIN value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
  *
  * "response" is int *
  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -773,6 +915,7 @@
  * "data" is const char **
  * ((const char **)data)[0] is old PIN2 value
  * ((const char **)data)[1] is new PIN2 value
+ * ((const char **)data)[2] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
  *
  * "response" is int *
  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -855,7 +998,8 @@
  *
  * Only valid when radio state is "RADIO_STATE_SIM_READY"
  *
- * "data" is NULL
+ * "data" is const char **
+ * ((const char **)data)[0] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
  * "response" is a const char * containing the IMSI
  *
  * Valid errors:
@@ -1032,7 +1176,7 @@
 #define RIL_REQUEST_SIGNAL_STRENGTH 19
 
 /**
- * RIL_REQUEST_REGISTRATION_STATE
+ * RIL_REQUEST_VOICE_REGISTRATION_STATE
  *
  * Request current registration state
  *
@@ -1065,12 +1209,8 @@
  *                                            in 16 bits
  *                                    In UMTS, CID is UMTS Cell Identity
  *                                             (see TS 25.331) in 28 bits
- * ((const char **)response)[3] indicates the available radio technology 0-7,
- *                                  0 - Unknown, 1 - GPRS, 2 - EDGE, 3 - UMTS,
- *                                  4 - IS95A, 5 - IS95B, 6 - 1xRTT,
- *                                  7 - EvDo Rev. 0, 8 - EvDo Rev. A,
- *                                  9 - HSDPA, 10 - HSUPA, 11 - HSPA,
- *                                  12 - EVDO Rev B
+ * ((const char **)response)[3] indicates the available voice radio technology,
+ *                              valid values as defined by RIL_RadioTechnology.
  * ((const char **)response)[4] is Base Station ID if registered on a CDMA
  *                              system or NULL if not.  Base Station ID in
  *                              decimal format
@@ -1080,14 +1220,14 @@
  *                              3GPP2 C.S0005-A v6.0. It is represented in
  *                              units of 0.25 seconds and ranges from -1296000
  *                              to 1296000, both values inclusive (corresponding
- *                              to a range of -90° to +90°).
+ *                              to a range of -90 to +90 degrees).
  * ((const char **)response)[6] is Base Station longitude if registered on a
  *                              CDMA system or NULL if not. Base Station
  *                              longitude is a decimal number as specified in
  *                              3GPP2 C.S0005-A v6.0. It is represented in
  *                              units of 0.25 seconds and ranges from -2592000
  *                              to 2592000, both values inclusive (corresponding
- *                              to a range of -180° to +180°).
+ *                              to a range of -180 to +180 degrees).
  * ((const char **)response)[7] is concurrent services support indicator if
  *                              registered on a CDMA system 0-1.
  *                                   0 - Concurrent services not supported,
@@ -1120,6 +1260,29 @@
  *                                 8 - No Suitable Cells in this Location Area
  *                                 9 - Network failure
  *                                10 - Persistent location update reject
+ *                                11 - PLMN not allowed
+ *                                12 - Location area not allowed
+ *                                13 - Roaming not allowed in this Location Area
+ *                                15 - No Suitable Cells in this Location Area
+ *                                17 - Network Failure
+ *                                20 - MAC Failure
+ *                                21 - Sync Failure
+ *                                22 - Congestion
+ *                                23 - GSM Authentication unacceptable
+ *                                25 - Not Authorized for this CSG
+ *                                32 - Service option not supported
+ *                                33 - Requested service option not subscribed
+ *                                34 - Service option temporarily out of order
+ *                                38 - Call cannot be identified
+ *                                48-63 - Retry upon entry into a new cell
+ *                                95 - Semantically incorrect message
+ *                                96 - Invalid mandatory information
+ *                                97 - Message type non-existent or not implemented
+ *                                98 - Message not compatible with protocol state
+ *                                99 - Information element non-existent or not implemented
+ *                               100 - Conditional IE error
+ *                               101 - Message not compatible with protocol state
+ *                               111 - Protocol error, unspecified
  * ((const char **)response)[14] is the Primary Scrambling Code of the current
  *                               cell as described in TS 25.331, in hexadecimal
  *                               format, or NULL if unknown or not registered
@@ -1137,26 +1300,33 @@
  *  RADIO_NOT_AVAILABLE
  *  GENERIC_FAILURE
  */
-#define RIL_REQUEST_REGISTRATION_STATE 20
+#define RIL_REQUEST_VOICE_REGISTRATION_STATE 20
 
 /**
- * RIL_REQUEST_GPRS_REGISTRATION_STATE
+ * RIL_REQUEST_DATA_REGISTRATION_STATE
  *
- * Request current GPRS registration state
+ * Request current DATA registration state
  *
  * "data" is NULL
  * "response" is a "char **"
  * ((const char **)response)[0] is registration state 0-5 from TS 27.007 10.1.20 AT+CGREG
  * ((const char **)response)[1] is LAC if registered or NULL if not
  * ((const char **)response)[2] is CID if registered or NULL if not
- * ((const char **)response)[3] indicates the available radio technology, where:
- *      0 == unknown
- *      1 == GPRS only
- *      2 == EDGE
- *      3 == UMTS
- *      9 == HSDPA
- *      10 == HSUPA
- *      11 == HSPA
+ * ((const char **)response)[3] indicates the available data radio technology,
+ *                              valid values as defined by RIL_RadioTechnology.
+ * ((const char **)response)[4] if registration state is 3 (Registration
+ *                               denied) this is an enumerated reason why
+ *                               registration was denied.  See 3GPP TS 24.008,
+ *                               Annex G.6 "Additonal cause codes for GMM".
+ *      7 == GPRS services not allowed
+ *      8 == GPRS services and non-GPRS services not allowed
+ *      9 == MS identity cannot be derived by the network
+ *      10 == Implicitly detached
+ *      14 == GPRS services not allowed in this PLMN
+ *      16 == MSC temporarily not reachable
+ *      40 == No PDP context activated
+ * ((const char **)response)[5] The maximum number of simultaneous Data Calls that can be
+ *                              established using RIL_REQUEST_SETUP_DATA_CALL.
  *
  * LAC and CID are in hexadecimal format.
  * valid LAC are 0x0000 - 0xffff
@@ -1170,7 +1340,7 @@
  *  RADIO_NOT_AVAILABLE
  *  GENERIC_FAILURE
  */
-#define RIL_REQUEST_GPRS_REGISTRATION_STATE 21
+#define RIL_REQUEST_DATA_REGISTRATION_STATE 21
 
 /**
  * RIL_REQUEST_OPERATOR
@@ -1198,6 +1368,11 @@
  * RIL_REQUEST_RADIO_POWER
  *
  * Toggle radio on and off (for "airplane" mode)
+ * If the radio is is turned off/on the radio modem subsystem
+ * is expected return to an initialized state. For instance,
+ * any voice and data calls will be terminated and all associated
+ * lists emptied.
+ *
  * "data" is int *
  * ((int *)data)[0] is > 0 for "Radio On"
  * ((int *)data)[0] is == 0 for "Radio Off"
@@ -1302,12 +1477,27 @@
 /**
  * RIL_REQUEST_SETUP_DATA_CALL
  *
- * Setup a packet data connection
+ * Setup a packet data connection. If RIL_Data_Call_Response_v6.status
+ * return success it is added to the list of data calls and a
+ * RIL_UNSOL_DATA_CALL_LIST_CHANGED is sent. The call remains in the
+ * list until RIL_REQUEST_DEACTIVATE_DATA_CALL is issued or the
+ * radio is powered off/on. This list is returned by RIL_REQUEST_DATA_CALL_LIST
+ * and RIL_UNSOL_DATA_CALL_LIST_CHANGED.
+ *
+ * The RIL is expected to:
+ *  - Create one data call context.
+ *  - Create and configure a dedicated interface for the context
+ *  - The interface must be point to point.
+ *  - The interface is configured with one or more addresses and
+ *    is capable of sending and receiving packets. The prefix length
+ *    of the addresses must be /32 for IPv4 and /128 for IPv6.
+ *  - Must NOT change the linux routing table.
+ *  - Support up to RIL_REQUEST_DATA_REGISTRATION_STATE response[5]
+ *    number of simultaneous data call contexts.
  *
  * "data" is a const char **
- * ((const char **)data)[0] indicates whether to setup connection on radio technology CDMA
- *                              or GSM/UMTS, 0-1. 0 - CDMA, 1-GSM/UMTS
- *
+ * ((const char **)data)[0] Radio technology to use: 0-CDMA, 1-GSM/UMTS, 2...
+ *                          for values above 2 this is RIL_RadioTechnology + 2.
  * ((const char **)data)[1] is a RIL_DataProfile (support is optional)
  * ((const char **)data)[2] is the APN to connect to if radio technology is GSM/UMTS. This APN will
  *                          override the one in the profile. NULL indicates no APN overrride.
@@ -1318,36 +1508,29 @@
  *                          1 => PAP may be performed; CHAP is never performed.
  *                          2 => CHAP may be performed; PAP is never performed.
  *                          3 => PAP / CHAP may be performed - baseband dependent.
- * ((const char **)data)[6] is the PDP type to request if the radio technology is GSM/UMTS.
- *                          Must be one of the PDP_type values in TS 27.007 section 10.1.1.
+ * ((const char **)data)[6] is the connection type to request must be one of the
+ *                          PDP_type values in TS 27.007 section 10.1.1.
  *                          For example, "IP", "IPV6", "IPV4V6", or "PPP".
+ * ((const char **)data)[7] Optional connection property parameters, format to be defined.
  *
- * "response" is a char **
- * ((char **)response)[0] the Connection ID, CID, which is generated by RIL.
- * ((char **)response)[1] the network interface name.
- * ((char **)response)[2] a numeric IPv4 or IPv6 address that has been assigned to the interface.
- * ((char **)response)[3] a space-separated list of numeric IPv4 or IPv6 DNS addresses.
- *                        Ignored on Android platforms before 3.0 and instead two DNS IP addresses
- *                        are retrieved from system properties "net.$IN.dns1" and "net.$IN.dns2".
- * ((char **)response)[4] the numeric IPv4 or IPv6 address of the default gateway.
- *                        Ignored on Android platforms before 3.0 and instead an IP address
- *                        is retrieved from system property "net.$IN.gw".
+ * "response" is a RIL_Data_Call_Response_v6
  *
- * Notes:
- *   1) Numeric addresses must be in the Java InetAddress parsable representation.
- *   2) $IN in the above comments is the interface name from response[1].
+ * FIXME may need way to configure QoS settings
  *
  * Valid errors:
- *  SUCCESS
- *  RADIO_NOT_AVAILABLE
- *  GENERIC_FAILURE
+ *  SUCCESS should be returned on both success and failure of setup with
+ *  the RIL_Data_Call_Response_v6.status containing the actual status.
+ *  For all other errors the RIL_Data_Call_Resonse_v6 is ignored.
+ *
+ *  Other errors could include:
+ *    RADIO_NOT_AVAILABLE, GENERIC_FAILURE, OP_NOT_ALLOWED_BEFORE_REG_TO_NW,
+ *    OP_NOT_ALLOWED_DURING_VOICE_CALL and REQUEST_NOT_SUPPORTED.
  *
  * See also: RIL_REQUEST_DEACTIVATE_DATA_CALL
  */
 #define RIL_REQUEST_SETUP_DATA_CALL 27
 
 
-
 /**
  * RIL_REQUEST_SIM_IO
  *
@@ -1356,7 +1539,7 @@
  * where it assumes all of the EF selection will be done by the
  * callee.
  *
- * "data" is a const RIL_SIM_IO *
+ * "data" is a const RIL_SIM_IO_v6 *
  * Please note that RIL_SIM_IO has a "PIN2" field which may be NULL,
  * or may specify a PIN2 for operations that require a PIN2 (eg
  * updating FDN records)
@@ -1625,8 +1808,13 @@
 /**
  * RIL_REQUEST_DEACTIVATE_DATA_CALL
  *
- * Deactivate packet data connection
- * replaces RIL_REQUEST_DEACTIVATE_DEFAULT_PDP
+ * Deactivate packet data connection and remove from the
+ * data call list if SUCCESS is returned. Any other return
+ * values should also try to remove the call from the list,
+ * but that may not be possible. In any event a
+ * RIL_REQUEST_RADIO_POWER off/on must clear the list. An
+ * RIL_UNSOL_DATA_CALL_LIST_CHANGED is not expected to be
+ * issued because of an RIL_REQUEST_DEACTIVATE_DATA_CALL.
  *
  * "data" is const char **
  * ((char**)data)[0] indicating CID
@@ -1656,6 +1844,9 @@
  * ((const char **)data)[1] is the password, or "" if not required
  * ((const char **)data)[2] is the TS 27.007 service class bit vector of
  *                           services to query
+ * ((const char **)data)[3] is AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
+ *                            This is only applicable in the case of Fixed Dialing Numbers
+ *                            (FDN) requests.
  *
  * "response" is an int *
  * ((const int *)response) 0 is the TS 27.007 service class bit vector of
@@ -1685,6 +1876,9 @@
  * ((const char **)data)[3] = string representation of decimal TS 27.007
  *                            service class bit vector. Eg, the string
  *                            "1" means "set this facility for voice services"
+ * ((const char **)data)[4] = AID value, See ETSI 102.221 8.1 and 101.220 4, NULL if no value.
+ *                            This is only applicable in the case of Fixed Dialing Numbers
+ *                            (FDN) requests.
  *
  * "response" is int *
  * ((int *)response)[0] is the number of retries remaining, or -1 if unknown
@@ -1961,7 +2155,8 @@
 #define RIL_REQUEST_QUERY_CLIP 55
 
 /**
- * RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE
+ * RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE - Deprecated use the status
+ * field in RIL_Data_Call_Response_v6.
  *
  * Requests the failure cause code for the most recently failed PDP
  * context or CDMA data connection active
@@ -1975,7 +2170,7 @@
  *
  * If the implementation does not have access to the exact cause codes,
  * then it should return one of the values listed in
- * RIL_LastDataCallActivateFailCause, as the UI layer needs to distinguish these
+ * RIL_DataCallFailCause, as the UI layer needs to distinguish these
  * cases for error notification
  * and potential retries.
  *
@@ -1986,6 +2181,7 @@
  *
  * See also: RIL_REQUEST_LAST_CALL_FAIL_CAUSE
  *
+ * Deprecated use the status field in RIL_Data_Call_Response_v6.
  */
 
 #define RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE 56
@@ -1993,18 +2189,20 @@
 /**
  * RIL_REQUEST_DATA_CALL_LIST
  *
- * Queries the status of PDP contexts, returning for each
- * its CID, whether or not it is active, and its PDP type,
- * APN, and PDP adddress.
- * replaces RIL_REQUEST_PDP_CONTEXT_LIST
+ * Returns the data call list. An entry is added when a
+ * RIL_REQUEST_SETUP_DATA_CALL is issued and removed on a
+ * RIL_REQUEST_DEACTIVATE_DATA_CALL. The list is emptied
+ * when RIL_REQUEST_RADIO_POWER off/on is issued.
  *
  * "data" is NULL
- * "response" is an array of RIL_Data_Call_Response
+ * "response" is an array of RIL_Data_Call_Response_v6
  *
  * Valid errors:
  *  SUCCESS
  *  RADIO_NOT_AVAILABLE (radio resetting)
  *  GENERIC_FAILURE
+ *
+ * See also: RIL_UNSOL_DATA_CALL_LIST_CHANGED
  */
 
 #define RIL_REQUEST_DATA_CALL_LIST 57
@@ -2355,16 +2553,7 @@
  * Requests to set the preferred network type for searching and registering
  * (CS/PS domain, RAT, and operation mode)
  *
- * "data" is int *
- *
- * ((int *)data)[0] is == 0 for GSM/WCDMA (WCDMA preferred)
- * ((int *)data)[0] is == 1 for GSM only
- * ((int *)data)[0] is == 2 for WCDMA only
- * ((int *)data)[0] is == 3 for GSM/WCDMA (auto mode, according to PRL)
- * ((int *)data)[0] is == 4 for CDMA and EvDo (auto mode, according to PRL)
- * ((int *)data)[0] is == 5 for CDMA only
- * ((int *)data)[0] is == 6 for EvDo only
- * ((int *)data)[0] is == 7 for GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
+ * "data" is int * which is RIL_PreferredNetworkType
  *
  * "response" is NULL
  *
@@ -2385,14 +2574,7 @@
  * "data" is NULL
  *
  * "response" is int *
- * ((int *)response)[0] is == 0 for GSM/WCDMA (WCDMA preferred)
- * ((int *)response)[0] is == 1 for GSM only
- * ((int *)response)[0] is == 2 for WCDMA only
- * ((int *)response)[0] is == 3 for GSM/WCDMA (auto mode, according to PRL)
- * ((int *)response)[0] is == 4 for CDMA and EvDo (auto mode, according to PRL)
- * ((int *)response)[0] is == 5 for CDMA only
- * ((int *)response)[0] is == 6 for EvDo only
- * ((int *)response)[0] is == 7 for GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
+ * ((int *)reponse)[0] is == RIL_PreferredNetworkType
  *
  * Valid errors:
  *  SUCCESS
@@ -2444,14 +2626,13 @@
 #define RIL_REQUEST_SET_LOCATION_UPDATES 76
 
 /**
- * RIL_REQUEST_CDMA_SET_SUBSCRIPTION
+ * RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
  *
  * Request to set the location where the CDMA subscription shall
  * be retrieved
  *
  * "data" is int *
- * ((int *)data)[0] is == 0 from RUIM/SIM (default)
- * ((int *)data)[0] is == 1 from NV
+ * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
  *
  * "response" is NULL
  *
@@ -2461,8 +2642,10 @@
  *  GENERIC_FAILURE
  *  SIM_ABSENT
  *  SUBSCRIPTION_NOT_AVAILABLE
+ *
+ * See also: RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE
  */
-#define RIL_REQUEST_CDMA_SET_SUBSCRIPTION 77
+#define RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE 77
 
 /**
  * RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE
@@ -2984,6 +3167,27 @@
  */
 #define RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING 103
 
+/**
+ * RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE
+ *
+ * Request to query the location where the CDMA subscription shall
+ * be retrieved
+ *
+ * "data" is NULL
+ *
+ * "response" is int *
+ * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
+ *
+ * Valid errors:
+ *  SUCCESS
+ *  RADIO_NOT_AVAILABLE
+ *  GENERIC_FAILURE
+ *  SUBSCRIPTION_NOT_AVAILABLE
+ *
+ * See also: RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE
+ */
+#define RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE 104
+
 /***********************************************************************/
 
 
@@ -3021,15 +3225,13 @@
 
 
 /**
- * RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED
+ * RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED
  *
- * Called when network state, operator name, or GPRS state has changed
- * Basically on, +CREG and +CGREG
+ * Called when the voice network state changed
  *
  * Callee will invoke the following requests on main thread:
  *
- * RIL_REQUEST_REGISTRATION_STATE
- * RIL_REQUEST_GPRS_REGISTRATION_STATE
+ * RIL_REQUEST_VOICE_REGISTRATION_STATE
  * RIL_REQUEST_OPERATOR
  *
  * "data" is NULL
@@ -3037,7 +3239,7 @@
  * FIXME should this happen when SIM records are loaded? (eg, for
  * EONS)
  */
-#define RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED 1002
+#define RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED 1002
 
 /**
  * RIL_UNSOL_RESPONSE_NEW_SMS
@@ -3146,12 +3348,12 @@
 /**
  * RIL_UNSOL_DATA_CALL_LIST_CHANGED
  *
- * Indicate a PDP context state has changed, or a new context
- * has been activated or deactivated
- * replaces RIL_UNSOL_PDP_CONTEXT_LIST_CHANGED
- *
- * "data" is an array of RIL_Data_Call_Response identical to that
- * returned by RIL_REQUEST_DATA_CALL_LIST
+ * "data" is an array of RIL_Data_Call_Response_v6 identical to that
+ * returned by RIL_REQUEST_DATA_CALL_LIST. It is the complete list
+ * of current data contexts including new contexts that have been
+ * activated. A data call is only removed from this list when the
+ * framework sends a RIL_REQUEST_DEACTIVATE_DATA_CALL or the radio
+ * is powered off/on.
  *
  * See also: RIL_REQUEST_DATA_CALL_LIST
  */
@@ -3235,7 +3437,8 @@
  * "data" is an int *
  * ((int *)data)[0] is a RIL_SimRefreshResult.
  * ((int *)data)[1] is the EFID of the updated file if the result is
- * SIM_FILE_UPDATE or NULL for any other result.
+ * SIM_FILE_UPDATE, AID(application ID) of the card application
+ * triggering the REFRESH if the result is SIM_INIT, or NULL for any other result.
  *
  * Note: If the radio state changes as a result of the SIM refresh (eg,
  * SIM_READY -> SIM_LOCKED_OR_ABSENT), RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED
@@ -3404,6 +3607,50 @@
  * "data" is null
  */
 #define RIL_UNSOL_RESEND_INCALL_MUTE 1030
+
+/**
+ * RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED
+ *
+ * Called when CDMA subscription source changed.
+ *
+ * "data" is int *
+ * ((int *)data)[0] is == RIL_CdmaSubscriptionSource
+ */
+#define RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED 1031
+
+/**
+ * RIL_UNSOL_CDMA_PRL_CHANGED
+ *
+ * Called when PRL (preferred roaming list) changes.
+ *
+ * "data" is int *
+ * ((int *)data)[0] is PRL_VERSION as would be returned by RIL_REQUEST_CDMA_SUBSCRIPTION
+ */
+#define RIL_UNSOL_CDMA_PRL_CHANGED 1032
+
+/**
+ * RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE
+ *
+ * Called when Emergency Callback Mode Ends
+ *
+ * Indicates that the radio system selection module has
+ * proactively exited emergency callback mode.
+ *
+ * "data" is NULL
+ *
+ */
+#define RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE 1033
+
+/**
+ * RIL_UNSOL_RIL_CONNECTED
+ *
+ * Called the ril connects and returns the version
+ *
+ * "data" is int *
+ * ((int *)data)[0] is RIL_VERSION
+ */
+#define RIL_UNSOL_RIL_CONNECTED 1034
+
 /***********************************************************************/
 
 
diff --git a/libril/ril.cpp b/libril/ril.cpp
index ca19d7c..316bcd4 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -217,6 +217,7 @@
 static int responseSIM_IO(Parcel &p, void *response, size_t responselen);
 static int responseCallForwards(Parcel &p, void *response, size_t responselen);
 static int responseDataCallList(Parcel &p, void *response, size_t responselen);
+static int responseSetupDataCall(Parcel &p, void *response, size_t responselen);
 static int responseRaw(Parcel &p, void *response, size_t responselen);
 static int responseSsn(Parcel &p, void *response, size_t responselen);
 static int responseSimStatus(Parcel &p, void *response, size_t responselen);
@@ -668,11 +669,17 @@
  *   int32_t p1, p2, p3
  *   String data
  *   String pin2
+ *   String aidPtr
  */
 static void
 dispatchSIM_IO (Parcel &p, RequestInfo *pRI) {
-    RIL_SIM_IO simIO;
+    union RIL_SIM_IO {
+        RIL_SIM_IO_v6 v6;
+        RIL_SIM_IO_v5 v5;
+    } simIO;
+
     int32_t t;
+    int size;
     status_t status;
 
     memset (&simIO, 0, sizeof(simIO));
@@ -680,30 +687,31 @@
     // note we only check status at the end
 
     status = p.readInt32(&t);
-    simIO.command = (int)t;
+    simIO.v6.command = (int)t;
 
     status = p.readInt32(&t);
-    simIO.fileid = (int)t;
+    simIO.v6.fileid = (int)t;
 
-    simIO.path = strdupReadString(p);
+    simIO.v6.path = strdupReadString(p);
 
     status = p.readInt32(&t);
-    simIO.p1 = (int)t;
+    simIO.v6.p1 = (int)t;
 
     status = p.readInt32(&t);
-    simIO.p2 = (int)t;
+    simIO.v6.p2 = (int)t;
 
     status = p.readInt32(&t);
-    simIO.p3 = (int)t;
+    simIO.v6.p3 = (int)t;
 
-    simIO.data = strdupReadString(p);
-    simIO.pin2 = strdupReadString(p);
+    simIO.v6.data = strdupReadString(p);
+    simIO.v6.pin2 = strdupReadString(p);
+    simIO.v6.aidPtr = strdupReadString(p);
 
     startRequest;
-    appendPrintBuf("%scmd=0x%X,efid=0x%X,path=%s,%d,%d,%d,%s,pin2=%s", printBuf,
-        simIO.command, simIO.fileid, (char*)simIO.path,
-        simIO.p1, simIO.p2, simIO.p3,
-        (char*)simIO.data,  (char*)simIO.pin2);
+    appendPrintBuf("%scmd=0x%X,efid=0x%X,path=%s,%d,%d,%d,%s,pin2=%s,aid=%s", printBuf,
+        simIO.v6.command, simIO.v6.fileid, (char*)simIO.v6.path,
+        simIO.v6.p1, simIO.v6.p2, simIO.v6.p3,
+        (char*)simIO.v6.data,  (char*)simIO.v6.pin2, simIO.v6.aidPtr);
     closeRequest;
     printRequest(pRI->token, pRI->pCI->requestNumber);
 
@@ -711,17 +719,20 @@
         goto invalid;
     }
 
-       s_callbacks.onRequest(pRI->pCI->requestNumber, &simIO, sizeof(simIO), pRI);
+    size = (s_callbacks.version < 6) ? sizeof(simIO.v5) : sizeof(simIO.v6);
+    s_callbacks.onRequest(pRI->pCI->requestNumber, &simIO, size, pRI);
 
 #ifdef MEMSET_FREED
-    memsetString (simIO.path);
-    memsetString (simIO.data);
-    memsetString (simIO.pin2);
+    memsetString (simIO.v6.path);
+    memsetString (simIO.v6.data);
+    memsetString (simIO.v6.pin2);
+    memsetString (simIO.v6.aidPtr);
 #endif
 
-    free (simIO.path);
-    free (simIO.data);
-    free (simIO.pin2);
+    free (simIO.v6.path);
+    free (simIO.v6.data);
+    free (simIO.v6.pin2);
+    free (simIO.v6.aidPtr);
 
 #ifdef MEMSET_FREED
     memset(&simIO, 0, sizeof(simIO));
@@ -1313,6 +1324,13 @@
     return 0;
 }
 
+/** response is a char **, pointing to an array of char *'s
+    The parcel will begin with the version */
+static int responseStringsWithVersion(int version, Parcel &p, void *response, size_t responselen) {
+    p.writeInt32(version);
+    return responseStrings(p, response, responselen);
+}
+
 /** response is a char **, pointing to an array of char *'s */
 static int responseStrings(Parcel &p, void *response, size_t responselen) {
     int numStrings;
@@ -1465,36 +1483,35 @@
     return 0;
 }
 
-static int responseDataCallList(Parcel &p, void *response, size_t responselen)
+static int responseDataCallListV4(Parcel &p, void *response, size_t responselen)
 {
     if (response == NULL && responselen != 0) {
         LOGE("invalid response: NULL");
         return RIL_ERRNO_INVALID_RESPONSE;
     }
 
-    if (responselen % sizeof(RIL_Data_Call_Response) != 0) {
+    if (responselen % sizeof(RIL_Data_Call_Response_v4) != 0) {
         LOGE("invalid response length %d expected multiple of %d",
-                (int)responselen, (int)sizeof(RIL_Data_Call_Response));
+                (int)responselen, (int)sizeof(RIL_Data_Call_Response_v4));
         return RIL_ERRNO_INVALID_RESPONSE;
     }
 
-    int num = responselen / sizeof(RIL_Data_Call_Response);
+    int num = responselen / sizeof(RIL_Data_Call_Response_v4);
     p.writeInt32(num);
 
-    RIL_Data_Call_Response *p_cur = (RIL_Data_Call_Response *) response;
+    RIL_Data_Call_Response_v4 *p_cur = (RIL_Data_Call_Response_v4 *) response;
     startResponse;
     int i;
     for (i = 0; i < num; i++) {
         p.writeInt32(p_cur[i].cid);
         p.writeInt32(p_cur[i].active);
         writeStringToParcel(p, p_cur[i].type);
-        writeStringToParcel(p, p_cur[i].apn);
+        // apn is not used, so don't send.
         writeStringToParcel(p, p_cur[i].address);
-        appendPrintBuf("%s[cid=%d,%s,%s,%s,%s],", printBuf,
+        appendPrintBuf("%s[cid=%d,%s,%s,%s],", printBuf,
             p_cur[i].cid,
             (p_cur[i].active==0)?"down":"up",
             (char*)p_cur[i].type,
-            (char*)p_cur[i].apn,
             (char*)p_cur[i].address);
     }
     removeLastChar;
@@ -1503,6 +1520,65 @@
     return 0;
 }
 
+static int responseDataCallList(Parcel &p, void *response, size_t responselen)
+{
+    // Write version
+    p.writeInt32(s_callbacks.version);
+
+    if (s_callbacks.version < 5) {
+        return responseDataCallListV4(p, response, responselen);
+    } else {
+        if (response == NULL && responselen != 0) {
+            LOGE("invalid response: NULL");
+            return RIL_ERRNO_INVALID_RESPONSE;
+        }
+
+        if (responselen % sizeof(RIL_Data_Call_Response_v6) != 0) {
+            LOGE("invalid response length %d expected multiple of %d",
+                    (int)responselen, (int)sizeof(RIL_Data_Call_Response_v6));
+            return RIL_ERRNO_INVALID_RESPONSE;
+        }
+
+        int num = responselen / sizeof(RIL_Data_Call_Response_v6);
+        p.writeInt32(num);
+
+        RIL_Data_Call_Response_v6 *p_cur = (RIL_Data_Call_Response_v6 *) response;
+        startResponse;
+        int i;
+        for (i = 0; i < num; i++) {
+            p.writeInt32((int)p_cur[i].status);
+            p.writeInt32(p_cur[i].cid);
+            p.writeInt32(p_cur[i].active);
+            writeStringToParcel(p, p_cur[i].type);
+            writeStringToParcel(p, p_cur[i].ifname);
+            writeStringToParcel(p, p_cur[i].addresses);
+            writeStringToParcel(p, p_cur[i].dnses);
+            writeStringToParcel(p, p_cur[i].gateways);
+            appendPrintBuf("%s[status=%d,cid=%d,%s,%d,%s,%s,%s],", printBuf,
+                p_cur[i].status,
+                p_cur[i].cid,
+                (p_cur[i].active==0)?"down":"up",
+                (char*)p_cur[i].ifname,
+                (char*)p_cur[i].addresses,
+                (char*)p_cur[i].dnses,
+                (char*)p_cur[i].gateways);
+        }
+        removeLastChar;
+        closeResponse;
+    }
+
+    return 0;
+}
+
+static int responseSetupDataCall(Parcel &p, void *response, size_t responselen)
+{
+    if (s_callbacks.version < 5) {
+        return responseStringsWithVersion(s_callbacks.version, p, response, responselen);
+    } else {
+        return responseDataCallList(p, response, responselen);
+    }
+}
+
 static int responseRaw(Parcel &p, void *response, size_t responselen) {
     if (response == NULL && responselen != 0) {
         LOGE("invalid response: NULL with responselen != 0");
@@ -1705,7 +1781,7 @@
                 for (int i = 0 ; i < infoRec->rec.display.alpha_len ; i++) {
                     string8[i] = infoRec->rec.display.alpha_buf[i];
                 }
-                string8[infoRec->rec.display.alpha_len] = '\0';
+                string8[(int)infoRec->rec.display.alpha_len] = '\0';
                 writeStringToParcel(p, (const char*)string8);
                 free(string8);
                 string8 = NULL;
@@ -1725,7 +1801,7 @@
                 for (int i = 0 ; i < infoRec->rec.number.len; i++) {
                     string8[i] = infoRec->rec.number.buf[i];
                 }
-                string8[infoRec->rec.number.len] = '\0';
+                string8[(int)infoRec->rec.number.len] = '\0';
                 writeStringToParcel(p, (const char*)string8);
                 free(string8);
                 string8 = NULL;
@@ -1764,7 +1840,7 @@
                          i++) {
                     string8[i] = infoRec->rec.redir.redirectingNumber.buf[i];
                 }
-                string8[infoRec->rec.redir.redirectingNumber.len] = '\0';
+                string8[(int)infoRec->rec.redir.redirectingNumber.len] = '\0';
                 writeStringToParcel(p, (const char*)string8);
                 free(string8);
                 string8 = NULL;
@@ -1825,9 +1901,8 @@
         return RIL_ERRNO_INVALID_RESPONSE;
     }
 
-    if (responselen == sizeof (RIL_SignalStrength)) {
-        // New RIL
-        RIL_SignalStrength *p_cur = ((RIL_SignalStrength *) response);
+    if (responselen >= sizeof (RIL_SignalStrength_v5)) {
+        RIL_SignalStrength_v6 *p_cur = ((RIL_SignalStrength_v6 *) response);
 
         p.writeInt32(p_cur->GW_SignalStrength.signalStrength);
         p.writeInt32(p_cur->GW_SignalStrength.bitErrorRate);
@@ -1836,12 +1911,23 @@
         p.writeInt32(p_cur->EVDO_SignalStrength.dbm);
         p.writeInt32(p_cur->EVDO_SignalStrength.ecio);
         p.writeInt32(p_cur->EVDO_SignalStrength.signalNoiseRatio);
+        if (responselen >= sizeof (RIL_SignalStrength_v6)) {
+            p.writeInt32(p_cur->LTE_SignalStrength.signalStrength);
+            p.writeInt32(p_cur->LTE_SignalStrength.rsrp);
+            p.writeInt32(p_cur->LTE_SignalStrength.rsrq);
+            p.writeInt32(p_cur->LTE_SignalStrength.rssnr);
+            p.writeInt32(p_cur->LTE_SignalStrength.cqi);
+        } else {
+            memset(&p_cur->LTE_SignalStrength, sizeof (RIL_LTE_SignalStrength), 0);
+        }
 
         startResponse;
         appendPrintBuf("%s[signalStrength=%d,bitErrorRate=%d,\
-                CDMA_SignalStrength.dbm=%d,CDMA_SignalStrength.ecio=%d,\
-                EVDO_SignalStrength.dbm =%d,EVDO_SignalStrength.ecio=%d,\
-                EVDO_SignalStrength.signalNoiseRatio=%d]",
+                CDMA_SS.dbm=%d,CDMA_SSecio=%d,\
+                EVDO_SS.dbm=%d,EVDO_SS.ecio=%d,\
+                EVDO_SS.signalNoiseRatio=%d,\
+                LTE_SS.signalStrength=%d,LTE_SS.rsrp=%d,LTE_SS.rsrq=%d,\
+                LTE_SS.rssnr=%d,LTE_SS.cqi=%d]",
                 printBuf,
                 p_cur->GW_SignalStrength.signalStrength,
                 p_cur->GW_SignalStrength.bitErrorRate,
@@ -1849,34 +1935,14 @@
                 p_cur->CDMA_SignalStrength.ecio,
                 p_cur->EVDO_SignalStrength.dbm,
                 p_cur->EVDO_SignalStrength.ecio,
-                p_cur->EVDO_SignalStrength.signalNoiseRatio);
-
+                p_cur->EVDO_SignalStrength.signalNoiseRatio,
+                p_cur->LTE_SignalStrength.signalStrength,
+                p_cur->LTE_SignalStrength.rsrp,
+                p_cur->LTE_SignalStrength.rsrq,
+                p_cur->LTE_SignalStrength.rssnr,
+                p_cur->LTE_SignalStrength.cqi);
         closeResponse;
 
-    } else if (responselen % sizeof (int) == 0) {
-        // Old RIL deprecated
-        int *p_cur = (int *) response;
-
-        startResponse;
-
-        // With the Old RIL we see one or 2 integers.
-        size_t num = responselen / sizeof (int); // Number of integers from ril
-        size_t totalIntegers = 7; // Number of integers in RIL_SignalStrength
-        size_t i;
-
-        appendPrintBuf("%s[", printBuf);
-        for (i = 0; i < num; i++) {
-            appendPrintBuf("%s %d", printBuf, *p_cur);
-            p.writeInt32(*p_cur++);
-        }
-        appendPrintBuf("%s]", printBuf);
-
-        // Fill the remainder with zero's.
-        for (; i < totalIntegers; i++) {
-            p.writeInt32(0);
-        }
-
-        closeResponse;
     } else {
         LOGE("invalid response length");
         return RIL_ERRNO_INVALID_RESPONSE;
@@ -1929,23 +1995,29 @@
         return RIL_ERRNO_INVALID_RESPONSE;
     }
 
-    if (responselen != sizeof(RIL_CDMA_CallWaiting)) {
-        LOGE("invalid response length %d expected %d\n",
-            (int)responselen, (int)sizeof(RIL_CDMA_CallWaiting));
-        return RIL_ERRNO_INVALID_RESPONSE;
+    if (responselen < sizeof(RIL_CDMA_CallWaiting_v6)) {
+        LOGW("Upgrade to ril version %d\n", RIL_VERSION);
+    }
+
+    RIL_CDMA_CallWaiting_v6 *p_cur = ((RIL_CDMA_CallWaiting_v6 *) response);
+
+    writeStringToParcel(p, p_cur->number);
+    p.writeInt32(p_cur->numberPresentation);
+    writeStringToParcel(p, p_cur->name);
+    marshallSignalInfoRecord(p, p_cur->signalInfoRecord);
+
+    if (responselen >= sizeof(RIL_CDMA_CallWaiting_v6)) {
+        p.writeInt32(p_cur->number_type);
+        p.writeInt32(p_cur->number_plan);
+    } else {
+        p.writeInt32(0);
+        p.writeInt32(0);
     }
 
     startResponse;
-    RIL_CDMA_CallWaiting *p_cur = ((RIL_CDMA_CallWaiting *) response);
-
-    writeStringToParcel (p, p_cur->number);
-    p.writeInt32(p_cur->numberPresentation);
-    writeStringToParcel (p, p_cur->name);
-    marshallSignalInfoRecord(p, p_cur->signalInfoRecord);
-
     appendPrintBuf("%snumber=%s,numberPresentation=%d, name=%s,\
             signalInfoRecord[isPresent=%d,signalType=%d,alertPitch=%d\
-            signal=%d]",
+            signal=%d,number_type=%d,number_plan=%d]",
             printBuf,
             p_cur->number,
             p_cur->numberPresentation,
@@ -1953,8 +2025,9 @@
             p_cur->signalInfoRecord.isPresent,
             p_cur->signalInfoRecord.signalType,
             p_cur->signalInfoRecord.alertPitch,
-            p_cur->signalInfoRecord.signal);
-
+            p_cur->signalInfoRecord.signal,
+            p_cur->number_type,
+            p_cur->number_plan);
     closeResponse;
 
     return 0;
@@ -1976,6 +2049,34 @@
     triggerEvLoop();
 }
 
+static void sendSimStatusAppInfo(Parcel &p, int num_apps, RIL_AppStatus appStatus[]) {
+        p.writeInt32(num_apps);
+        startResponse;
+        for (int i = 0; i < num_apps; i++) {
+            p.writeInt32(appStatus[i].app_type);
+            p.writeInt32(appStatus[i].app_state);
+            p.writeInt32(appStatus[i].perso_substate);
+            writeStringToParcel(p, (const char*)(appStatus[i].aid_ptr));
+            writeStringToParcel(p, (const char*)
+                                          (appStatus[i].app_label_ptr));
+            p.writeInt32(appStatus[i].pin1_replaced);
+            p.writeInt32(appStatus[i].pin1);
+            p.writeInt32(appStatus[i].pin2);
+            appendPrintBuf("%s[app_type=%d,app_state=%d,perso_substate=%d,\
+                    aid_ptr=%s,app_label_ptr=%s,pin1_replaced=%d,pin1=%d,pin2=%d],",
+                    printBuf,
+                    appStatus[i].app_type,
+                    appStatus[i].app_state,
+                    appStatus[i].perso_substate,
+                    appStatus[i].aid_ptr,
+                    appStatus[i].app_label_ptr,
+                    appStatus[i].pin1_replaced,
+                    appStatus[i].pin1,
+                    appStatus[i].pin2);
+        }
+        closeResponse;
+}
+
 static int responseSimStatus(Parcel &p, void *response, size_t responselen) {
     int i;
 
@@ -1984,45 +2085,31 @@
         return RIL_ERRNO_INVALID_RESPONSE;
     }
 
-    if (responselen % sizeof (RIL_CardStatus *) != 0) {
-        LOGE("invalid response length %d expected multiple of %d\n",
-            (int)responselen, (int)sizeof (RIL_CardStatus *));
+    if (responselen == sizeof (RIL_CardStatus_v6)) {
+        RIL_CardStatus_v6 *p_cur = ((RIL_CardStatus_v6 *) response);
+
+        p.writeInt32(p_cur->card_state);
+        p.writeInt32(p_cur->universal_pin_state);
+        p.writeInt32(p_cur->gsm_umts_subscription_app_index);
+        p.writeInt32(p_cur->cdma_subscription_app_index);
+        p.writeInt32(p_cur->ims_subscription_app_index);
+
+        sendSimStatusAppInfo(p, p_cur->num_applications, p_cur->applications);
+    } else if (responselen == sizeof (RIL_CardStatus_v5)) {
+        RIL_CardStatus_v5 *p_cur = ((RIL_CardStatus_v5 *) response);
+
+        p.writeInt32(p_cur->card_state);
+        p.writeInt32(p_cur->universal_pin_state);
+        p.writeInt32(p_cur->gsm_umts_subscription_app_index);
+        p.writeInt32(p_cur->cdma_subscription_app_index);
+        p.writeInt32(-1);
+
+        sendSimStatusAppInfo(p, p_cur->num_applications, p_cur->applications);
+    } else {
+        LOGE("responseSimStatus: A RilCardStatus_v6 or _v5 expected\n");
         return RIL_ERRNO_INVALID_RESPONSE;
     }
 
-    RIL_CardStatus *p_cur = ((RIL_CardStatus *) response);
-
-    p.writeInt32(p_cur->card_state);
-    p.writeInt32(p_cur->universal_pin_state);
-    p.writeInt32(p_cur->gsm_umts_subscription_app_index);
-    p.writeInt32(p_cur->cdma_subscription_app_index);
-    p.writeInt32(p_cur->num_applications);
-
-    startResponse;
-    for (i = 0; i < p_cur->num_applications; i++) {
-        p.writeInt32(p_cur->applications[i].app_type);
-        p.writeInt32(p_cur->applications[i].app_state);
-        p.writeInt32(p_cur->applications[i].perso_substate);
-        writeStringToParcel(p, (const char*)(p_cur->applications[i].aid_ptr));
-        writeStringToParcel(p, (const char*)
-                                      (p_cur->applications[i].app_label_ptr));
-        p.writeInt32(p_cur->applications[i].pin1_replaced);
-        p.writeInt32(p_cur->applications[i].pin1);
-        p.writeInt32(p_cur->applications[i].pin2);
-        appendPrintBuf("%s[app_type=%d,app_state=%d,perso_substate=%d,\
-                aid_ptr=%s,app_label_ptr=%s,pin1_replaced=%d,pin1=%d,pin2=%d],",
-                printBuf,
-                p_cur->applications[i].app_type,
-                p_cur->applications[i].app_state,
-                p_cur->applications[i].perso_substate,
-                p_cur->applications[i].aid_ptr,
-                p_cur->applications[i].app_label_ptr,
-                p_cur->applications[i].pin1_replaced,
-                p_cur->applications[i].pin1,
-                p_cur->applications[i].pin2);
-    }
-    closeResponse;
-
     return 0;
 }
 
@@ -2219,6 +2306,11 @@
 
 
 static void onNewCommandConnect() {
+    // Inform we are connected and the ril version
+    int rilVer = s_callbacks.version;
+    RIL_onUnsolicitedResponse(RIL_UNSOL_RIL_CONNECTED,
+                                    &rilVer, sizeof(rilVer));
+
     // implicit radio state changed
     RIL_onUnsolicitedResponse(RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED,
                                     NULL, 0);
@@ -2395,8 +2487,8 @@
             s_fdCommand = -1;
             break;
         case 2:
-            LOGI ("Debug port: issuing unsolicited network change.");
-            RIL_onUnsolicitedResponse(RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED,
+            LOGI ("Debug port: issuing unsolicited voice network change.");
+            RIL_onUnsolicitedResponse(RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED,
                                       NULL, 0);
             break;
         case 3:
@@ -2554,17 +2646,21 @@
     int ret;
     int flags;
 
-    if (callbacks == NULL || ((callbacks->version != RIL_VERSION)
-                && (callbacks->version < 2))) { // Remove when partners upgrade to version 3
-        LOGE(
-            "RIL_register: RIL_RadioFunctions * null or invalid version"
-            " (expected %d)", RIL_VERSION);
+    if (callbacks == NULL) {
+        LOGE("RIL_register: RIL_RadioFunctions * null");
         return;
     }
-    if (callbacks->version < RIL_VERSION) {
-        LOGE ("RIL_register: upgrade RIL to version %d current version=%d",
-              RIL_VERSION, callbacks->version);
+    if (callbacks->version < RIL_VERSION_MIN) {
+        LOGE("RIL_register: version %d is to old, min version is %d",
+             callbacks->version, RIL_VERSION_MIN);
+        return;
     }
+    if (callbacks->version > RIL_VERSION) {
+        LOGE("RIL_register: version %d is too new, max version is %d",
+             callbacks->version, RIL_VERSION);
+        return;
+    }
+    LOGE("RIL_register: RIL version %d", callbacks->version);
 
     if (s_registerCalled > 0) {
         LOGE("RIL_register has been called more than once. "
@@ -3012,8 +3108,8 @@
         case RIL_REQUEST_UDUB: return "UDUB";
         case RIL_REQUEST_LAST_CALL_FAIL_CAUSE: return "LAST_CALL_FAIL_CAUSE";
         case RIL_REQUEST_SIGNAL_STRENGTH: return "SIGNAL_STRENGTH";
-        case RIL_REQUEST_REGISTRATION_STATE: return "REGISTRATION_STATE";
-        case RIL_REQUEST_GPRS_REGISTRATION_STATE: return "GPRS_REGISTRATION_STATE";
+        case RIL_REQUEST_VOICE_REGISTRATION_STATE: return "VOICE_REGISTRATION_STATE";
+        case RIL_REQUEST_DATA_REGISTRATION_STATE: return "DATA_REGISTRATION_STATE";
         case RIL_REQUEST_OPERATOR: return "OPERATOR";
         case RIL_REQUEST_RADIO_POWER: return "RADIO_POWER";
         case RIL_REQUEST_DTMF: return "DTMF";
@@ -3066,7 +3162,7 @@
         case RIL_REQUEST_SCREEN_STATE: return "SCREEN_STATE";
         case RIL_REQUEST_EXPLICIT_CALL_TRANSFER: return "EXPLICIT_CALL_TRANSFER";
         case RIL_REQUEST_SET_LOCATION_UPDATES: return "SET_LOCATION_UPDATES";
-        case RIL_REQUEST_CDMA_SET_SUBSCRIPTION:return"CDMA_SET_SUBSCRIPTION";
+        case RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE:return"CDMA_SET_SUBSCRIPTION_SOURCE";
         case RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE:return"CDMA_SET_ROAMING_PREFERENCE";
         case RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE:return"CDMA_QUERY_ROAMING_PREFERENCE";
         case RIL_REQUEST_SET_TTY_MODE:return"SET_TTY_MODE";
@@ -3092,9 +3188,10 @@
         case RIL_REQUEST_SET_SMSC_ADDRESS: return "SET_SMSC_ADDRESS";
         case RIL_REQUEST_REPORT_SMS_MEMORY_STATUS: return "REPORT_SMS_MEMORY_STATUS";
         case RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING: return "REPORT_STK_SERVICE_IS_RUNNING";
+        case RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE: return "CDMA_GET_SUBSCRIPTION_SOURCE";
         case RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED: return "UNSOL_RESPONSE_RADIO_STATE_CHANGED";
         case RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED: return "UNSOL_RESPONSE_CALL_STATE_CHANGED";
-        case RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED: return "UNSOL_RESPONSE_NETWORK_STATE_CHANGED";
+        case RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED: return "UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED";
         case RIL_UNSOL_RESPONSE_NEW_SMS: return "UNSOL_RESPONSE_NEW_SMS";
         case RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT: return "UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT";
         case RIL_UNSOL_RESPONSE_NEW_SMS_ON_SIM: return "UNSOL_RESPONSE_NEW_SMS_ON_SIM";
@@ -3122,6 +3219,10 @@
         case RIL_UNSOL_OEM_HOOK_RAW: return "UNSOL_OEM_HOOK_RAW";
         case RIL_UNSOL_RINGBACK_TONE: return "UNSOL_RINGBACK_TONE";
         case RIL_UNSOL_RESEND_INCALL_MUTE: return "UNSOL_RESEND_INCALL_MUTE";
+        case RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED: return "UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED";
+        case RIL_UNSOL_CDMA_PRL_CHANGED: return "UNSOL_CDMA_PRL_CHANGED";
+        case RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE: return "UNSOL_EXIT_EMERGENCY_CALLBACK_MODE";
+        case RIL_UNSOL_RIL_CONNECTED: return "UNSOL_RIL_CONNECTED";
         default: return "<unknown request>";
     }
 }
diff --git a/libril/ril_commands.h b/libril/ril_commands.h
index e07dd43..fbd2a69 100644
--- a/libril/ril_commands.h
+++ b/libril/ril_commands.h
@@ -34,14 +34,14 @@
     {RIL_REQUEST_UDUB, dispatchVoid, responseVoid},
     {RIL_REQUEST_LAST_CALL_FAIL_CAUSE, dispatchVoid, responseInts},
     {RIL_REQUEST_SIGNAL_STRENGTH, dispatchVoid, responseRilSignalStrength},
-    {RIL_REQUEST_REGISTRATION_STATE, dispatchVoid, responseStrings},
-    {RIL_REQUEST_GPRS_REGISTRATION_STATE, dispatchVoid, responseStrings},
+    {RIL_REQUEST_VOICE_REGISTRATION_STATE, dispatchVoid, responseStrings},
+    {RIL_REQUEST_DATA_REGISTRATION_STATE, dispatchVoid, responseStrings},
     {RIL_REQUEST_OPERATOR, dispatchVoid, responseStrings},
     {RIL_REQUEST_RADIO_POWER, dispatchInts, responseVoid},
     {RIL_REQUEST_DTMF, dispatchString, responseVoid},
     {RIL_REQUEST_SEND_SMS, dispatchStrings, responseSMS},
     {RIL_REQUEST_SEND_SMS_EXPECT_MORE, dispatchStrings, responseSMS},
-    {RIL_REQUEST_SETUP_DATA_CALL, dispatchStrings, responseStrings},
+    {RIL_REQUEST_SETUP_DATA_CALL, dispatchDataCall, responseSetupDataCall},
     {RIL_REQUEST_SIM_IO, dispatchSIM_IO, responseSIM_IO},
     {RIL_REQUEST_SEND_USSD, dispatchString, responseVoid},
     {RIL_REQUEST_CANCEL_USSD, dispatchVoid, responseVoid},
@@ -91,7 +91,7 @@
     {RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE, dispatchVoid, responseInts},
     {RIL_REQUEST_GET_NEIGHBORING_CELL_IDS, dispatchVoid, responseCellList},
     {RIL_REQUEST_SET_LOCATION_UPDATES, dispatchInts, responseVoid},
-    {RIL_REQUEST_CDMA_SET_SUBSCRIPTION, dispatchInts, responseVoid},
+    {RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE, dispatchInts, responseVoid},
     {RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE, dispatchInts, responseVoid},
     {RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE, dispatchVoid, responseInts},
     {RIL_REQUEST_SET_TTY_MODE, dispatchInts, responseVoid},
@@ -117,4 +117,5 @@
     {RIL_REQUEST_GET_SMSC_ADDRESS, dispatchVoid, responseString},
     {RIL_REQUEST_SET_SMSC_ADDRESS, dispatchString, responseVoid},
     {RIL_REQUEST_REPORT_SMS_MEMORY_STATUS, dispatchInts, responseVoid},
-    {RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING, dispatchVoid, responseVoid}
+    {RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING, dispatchVoid, responseVoid},
+    {RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE, dispatchVoid, responseInts}
diff --git a/libril/ril_unsol_commands.h b/libril/ril_unsol_commands.h
index 6eddd0f..ce3ef20 100644
--- a/libril/ril_unsol_commands.h
+++ b/libril/ril_unsol_commands.h
@@ -16,7 +16,7 @@
 */
     {RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED, responseVoid, WAKE_PARTIAL},
     {RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED, responseVoid, WAKE_PARTIAL},
-    {RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED, responseVoid, WAKE_PARTIAL},
+    {RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED, responseVoid, WAKE_PARTIAL},
     {RIL_UNSOL_RESPONSE_NEW_SMS, responseString, WAKE_PARTIAL},
     {RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT, responseString, WAKE_PARTIAL},
     {RIL_UNSOL_RESPONSE_NEW_SMS_ON_SIM, responseInts, WAKE_PARTIAL},
@@ -44,4 +44,9 @@
     {RIL_UNSOL_CDMA_INFO_REC, responseCdmaInformationRecords, WAKE_PARTIAL},
     {RIL_UNSOL_OEM_HOOK_RAW, responseRaw, WAKE_PARTIAL},
     {RIL_UNSOL_RINGBACK_TONE, responseInts, WAKE_PARTIAL},
-    {RIL_UNSOL_RESEND_INCALL_MUTE, responseVoid, WAKE_PARTIAL}
+    {RIL_UNSOL_RESEND_INCALL_MUTE, responseVoid, WAKE_PARTIAL},
+    {RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED, responseInts, WAKE_PARTIAL},
+    {RIL_UNSOL_CDMA_PRL_CHANGED, responseInts, WAKE_PARTIAL},
+    {RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE, responseVoid, WAKE_PARTIAL},
+    {RIL_UNSOL_RIL_CONNECTED, responseInts, WAKE_PARTIAL}
+
diff --git a/mock-ril/Android.mk b/mock-ril/Android.mk
index 8f902e4..e99a0aa 100644
--- a/mock-ril/Android.mk
+++ b/mock-ril/Android.mk
@@ -10,13 +10,6 @@
 src_py := src/py
 src_js := src/js
 src_proto := src/proto
-src_generated := src/generated
-
-# Directories of generated source files
-gen_src_cpp := $(src_generated)/cpp
-gen_src_java := $(src_generated)/java
-gen_src_py := $(src_generated)/python
-gen_src_desc := $(src_generated)/desc
 
 ifeq ($(TARGET_ARCH),arm)
 # Mock-ril only buid for debug variants
@@ -36,22 +29,18 @@
     $(src_cpp)/util.cpp \
     $(src_cpp)/worker.cpp \
     $(src_cpp)/worker_v8.cpp \
-    $(gen_src_cpp)/ril.pb.cpp \
-    $(gen_src_cpp)/ctrl.pb.cpp \
-    $(gen_src_cpp)/msgheader.pb.cpp
+    $(call all-proto-files-under, $(src_proto))
 
 LOCAL_SHARED_LIBRARIES := \
     libz libcutils libutils libril
 
 LOCAL_STATIC_LIBRARIES := \
-    libprotobuf-cpp-2.3.0-full libv8
+    libv8
 
-LOCAL_CFLAGS := -D_GNU_SOURCE -UNDEBUG -DGOOGLE_PROTOBUF_NO_RTTI -DRIL_SHLIB
+LOCAL_CFLAGS := -D_GNU_SOURCE -UNDEBUG -DRIL_SHLIB
 
 LOCAL_C_INCLUDES := \
     $(LOCAL_PATH)/$(src_cpp) \
-    $(LOCAL_PATH)/$(gen_src_cpp) \
-    external/protobuf/src \
     external/v8/include \
     bionic \
     $(KERNEL_HEADERS)
@@ -68,7 +57,8 @@
 LOCAL_PRELINK_MODULE := false
 LOCAL_LDLIBS += -lpthread
 LOCAL_CFLAGS += -DMOCK_RIL -D__BSD_VISIBLE
-LOCAL_MODULE_TAGS := debug
+LOCAL_PROTOC_OPTIMIZE_TYPE := full
+LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE:= libmock_ril
 
 include $(BUILD_SHARED_LIBRARY)
@@ -80,12 +70,18 @@
 # =======================================================
 include $(CLEAR_VARS)
 
-LOCAL_MODULE_TAGS := debug
 LOCAL_MODULE := librilproto-java
 
-LOCAL_STATIC_JAVA_LIBRARIES := libprotobuf-java-2.3.0-micro
+LOCAL_PROTOC_OPTIMIZE_TYPE := micro
 
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_java) $(gen_src_java))
+LOCAL_SRC_FILES := $(call all-java-files-under, $(src_java)) \
+	$(call all-proto-files-under, $(src_proto))
 
 include $(BUILD_STATIC_JAVA_LIBRARY)
 # =======================================================
+
+src_cpp :=
+src_java :=
+src_py :=
+src_js :=
+src_proto :=
diff --git a/mock-ril/Makefile b/mock-ril/Makefile
index c03e765..d85c2cf 100644
--- a/mock-ril/Makefile
+++ b/mock-ril/Makefile
@@ -7,27 +7,31 @@
 # point to the top of the android source tree
 top=../../../
 
+PROTOC=$(wildcard $(top)out/host/*/bin/aprotoc)
+#if ((($(words $(PROTO)) != 1)))
+ifneq ($(words $(PROTOC)),1)
+$(error expecting 1 protoc we have $(words $(PROTOC)), PROTOC='$(PROTOC)')
+endif
+
+ifeq ("$(ANDROID_DEVICE)","")
+$(warning Default to ANDROID_DEVICE=passion")
+ANDROID_DEVICE=passion
+endif
+
 # Directories of source files
-src_java=src/java
-src_cpp=src/cpp
-src_py=src/py
+device=$(ANDROID_DEVICE)
 src_js=src/js
 src_proto=src/proto
-src_generated=src/generated
+src_generated=$(top)out/target/product/$(device)/obj/SHARED_LIBRARIES/libmock_ril_intermediates/proto/hardware/ril/mock-ril/src/proto
 
 # Directories of generated source files
-gen_src_cpp=$(src_generated)/cpp
-gen_src_java=$(src_generated)/java
 gen_src_py=$(src_generated)/python
 gen_src_desc=$(src_generated)/desc
 
 # Generated files
-generated=$(gen_src_cpp)/msgheader.pb.cpp $(gen_src_cpp)/msgheader.pb.h $(gen_src_desc)/msgheader.desc \
-      $(gen_src_py)/msgheader_pb2.py $(gen_src_java)/com/android/internal/communication/MsgHeader.java \
-      $(gen_src_cpp)/ril.pb.cpp $(gen_src_cpp)/ril.pb.h $(gen_src_desc)/ril.desc \
-      $(gen_src_py)/ril_pb2.py $(gen_src_java)/com/android/internal/telephony/ril_proto/RilCmds.java \
-      $(gen_src_cpp)/ctrl.pb.cpp $(gen_src_cpp)/ctrl.pb.h $(gen_src_desc)/ctrl.desc \
-      $(gen_src_py)/ctrl_pb2.py $(gen_src_java)/com/android/internal/telephony/ril_proto/RilCtrlCmds.java
+generated=$(gen_src_desc)/msgheader.desc $(gen_src_py)/msgheader_pb2.py \
+      $(gen_src_desc)/ril.desc $(gen_src_py)/ril_pb2.py \
+      $(gen_src_desc)/ctrl.desc $(gen_src_py)/ctrl_pb2.py
 
 # A Makefile to run protoc and simplify testing.
 .PHONY : all
@@ -39,72 +43,39 @@
 .PHONY : ut
 ut :
 	source $(top)build/envsetup.sh ; mmm $(top)frameworks/base/telephony/tests/telephonytests
-	adb install -r $(top)out/target/product/passion/data/app/FrameworksTelephonyTests.apk
+	adb install -r $(top)out/target/product/$(device)/data/app/FrameworksTelephonyTests.apk
 
-t : $(gen_src_cpp)/msgheader.pb.cpp $(gen_src_desc)/msgheader.desc $(gen_src_py)/msgheader_pb2.py $(gen_src_java)/com/android/internal/communication/MsgHeader.java
+t : $(gen_src_desc)/msgheader.desc $(gen_src_py)/msgheader_pb2.py
 
-# Run protoc to create the c++ files for msgheader
-$(gen_src_cpp)/msgheader.pb.cpp $(gen_src_cpp)/msgheader.pb.h : $(src_proto)/msgheader.proto
-	mkdir -p $(gen_src_cpp)
-	protoc --cpp_out=$(gen_src_cpp) --proto_path=$(src_proto) $<
-	mv $(gen_src_cpp)/msgheader.pb.cc $(gen_src_cpp)/msgheader.pb.cpp
-
-# Run protoc to create the python files for msgheader
+# Run protoc to create the descriptor files for msgheader
 $(gen_src_desc)/msgheader.desc : $(src_proto)/msgheader.proto
 	mkdir -p $(gen_src_desc)
-	protoc --descriptor_set_out=$@ --proto_path=$(src_proto) --include_imports $<
+	$(PROTOC) --descriptor_set_out=$@ --proto_path=$(src_proto) --include_imports $<
 
-# Run protoc to create the pyhton files for msgheader
+# Run protoc to create the python files for msgheader
 $(gen_src_py)/msgheader_pb2.py : $(src_proto)/msgheader.proto
 	mkdir -p $(gen_src_py)
-	protoc --python_out=$(gen_src_py) --proto_path=$(src_proto) $<
-
-# Run protoc to create the java files for ril
-$(gen_src_java)/com/android/internal/communication/MsgHeader.java : $(src_proto)/msgheader.proto
-	mkdir -p $(gen_src_java)
-	protoc --javamicro_out=$(gen_src_java) --proto_path=$(src_proto) $<
-
-# Run protoc to create the c++ files for ril
-$(gen_src_cpp)/ril.pb.cpp $(gen_src_cpp)/ril.pb.h : $(src_proto)/ril.proto
-	mkdir -p $(gen_src_cpp)
-	protoc --cpp_out=$(gen_src_cpp) --proto_path=$(src_proto) $<
-	mv $(gen_src_cpp)/ril.pb.cc $(gen_src_cpp)/ril.pb.cpp
+	$(PROTOC) --python_out=$(gen_src_py) --proto_path=$(src_proto) $<
 
 # Run protoc to create the ril descriptor file for ril
 $(gen_src_desc)/ril.desc : $(src_proto)/ril.proto
 	mkdir -p $(gen_src_desc)
-	protoc --descriptor_set_out=$@ --proto_path=$(src_proto) --include_imports $<
+	$(PROTOC) --descriptor_set_out=$@ --proto_path=$(src_proto) --include_imports $<
 
-# Run protoc to create the pyhton files for ril
+# Run protoc to create the python files for ril
 $(gen_src_py)/ril_pb2.py : $(src_proto)/ril.proto
 	mkdir -p $(gen_src_py)
-	protoc --python_out=$(gen_src_py) --proto_path=$(src_proto) $<
+	$(PROTOC) --python_out=$(gen_src_py) --proto_path=$(src_proto) $<
 
-# Run protoc to create the java files for ril
-$(gen_src_java)/com/android/internal/telephony/ril_proto/RilCmds.java : $(src_proto)/ril.proto
-	mkdir -p $(gen_src_java)
-	protoc --javamicro_out=$(gen_src_java) --proto_path=$(src_proto) $<
-
-# Run protoc to create the c++ files for control
-$(gen_src_cpp)/ctrl.pb.cpp $(gen_src_cpp)/ctrl.pb.h : $(src_proto)/ctrl.proto
-	mkdir -p $(gen_src_cpp)
-	protoc --cpp_out=$(gen_src_cpp) --proto_path=$(src_proto) $<
-	mv $(gen_src_cpp)/ctrl.pb.cc $(gen_src_cpp)/ctrl.pb.cpp
-
-# Run protoc to create the pyhton files for control
+# Run protoc to create the python files for control
 $(gen_src_py)/ctrl_pb2.py : $(src_proto)/ctrl.proto
 	mkdir -p $(gen_src_py)
-	protoc --python_out=$(gen_src_py) --proto_path=$(src_proto) $<
+	$(PROTOC) --python_out=$(gen_src_py) --proto_path=$(top) --proto_path=$(src_proto) $<
 
 # Run protoc to create the ctrl descriptor file for control
 $(gen_src_desc)/ctrl.desc : $(src_proto)/ctrl.proto
 	mkdir -p $(gen_src_desc)
-	protoc --descriptor_set_out=$@ --proto_path=$(src_proto) --include_imports $<
-
-# Run protoc to create the java files for ril
-$(gen_src_java)/com/android/internal/telephony/ril_proto/RilCtrlCmds.java : $(src_proto)/ctrl.proto
-	mkdir -p $(gen_src_java)
-	protoc --javamicro_out=$(gen_src_java) --proto_path=$(src_proto) $<
+	$(PROTOC) --descriptor_set_out=$@ --proto_path=$(top) --proto_path=$(src_proto) --include_imports $<
 
 # After starting phone do this first to get lastest ril.desc/proto and setup rild
 .PHONY : first
@@ -121,7 +92,7 @@
 # Restart rild
 .PHONY : restart_rild
 restart_rild :
-	adb shell ps | awk '/rild/ { print $$2 }' | xargs adb shell kill
+	adb shell setprop ctl.restart ril-daemon
 
 # Update only the js/copy and restart rild
 .PHONY : tjs
@@ -167,14 +138,15 @@
 	adb push $(gen_src_desc)/ctrl.desc /sdcard/data/
 	adb forward tcp:11111 tcp:54312
 
+
 # Copy the mock ril library
 .PHONY : copy_mockril
 copy_mockril :
-	adb push $(top)out/target/product/passion/system/lib/libmock_ril.so /data/lib/
+	adb push $(top)out/target/product/$(device)/system/lib/libmock_ril.so /data/lib/
 
 .PHONY : install_mockril_tests
 install_mockril_tests :
-	adb install -r $(top)out/target/product/passion/data/app/FrameworksTelephonyTests.apk
+	adb install -r $(top)out/target/product/$(device)/data/app/FrameworksTelephonyTests.apk
 
 # Remove generated files
 .PHONY : clean
diff --git a/mock-ril/README.txt b/mock-ril/README.txt
index 32abdd8..0b7bef6 100644
--- a/mock-ril/README.txt
+++ b/mock-ril/README.txt
@@ -2,19 +2,13 @@
 
 Install:
 
-Install protoc see the external/protobuf/INSTALL.txt and
-external/protobuf/python/README.txt. The short answer is:
-
-    $ cd external/protobuf
-    $ ./configure
-    $ make
-    $ make check
-    $ make install
-    $ cd python
-    $ python setup.py install
-
-If you get "from google.protobuf import xxxx" statements
-that google.protobuf is not found you didn't install the
+The protoc is now part of the Android build but its
+called "aprotoc" so it doesn't conflict with versions
+already installed. If you wish to install it permanetly
+see external/protobuf/INSTALL.txt and
+external/protobuf/python/README.txt.  If you get
+"from google.protobuf import xxxx" statements that
+google.protobuf is not found, you didn't install the
 python support for protobuf. Also on Mac OSX I got an
 error running the protoc tests but installing was fine.
 
@@ -22,7 +16,16 @@
 
 See "Testing a new ril:" below for general instructions but
 for the mock-ril I've added some targets to the Makefile to
-ease testing.
+ease testing. Also Makefile needs to know the device being
+used as this determines the directory where files are found
+and stored. ANDROID_DEVICE is an environment variable and
+maybe either exported:
+   $ export ANDROID_DEVICE=stingray
+
+or it can be passed on the command line:
+   $ make clean ANDROID_DEVICE=stingray
+
+If it's not set "passion" is the default.
 
 Execute the "first" target first to setup appropriate
 environment:
@@ -92,7 +95,7 @@
 Testing a new ril:
 
 The Makefile is used to generate files and make testing easier.
-I has several targets:
+and there are has several targets:
 
 all         runs protoc and generates files, ril.desc ril.pb.*
 
@@ -130,4 +133,8 @@
 
      $ adb shell kill 3212
 
+   or
+
+     $ adb shell setprop ctl.restart ril-daemon
+
 5) Make modifications, go to step 3.
diff --git a/mock-ril/src/cpp/ctrl_server.cpp b/mock-ril/src/cpp/ctrl_server.cpp
index 2dc9634..90b6d4c 100644
--- a/mock-ril/src/cpp/ctrl_server.cpp
+++ b/mock-ril/src/cpp/ctrl_server.cpp
@@ -31,9 +31,9 @@
 #include "util.h"
 #include "worker.h"
 
-#include "msgheader.pb.h"
+#include "hardware/ril/mock-ril/src/proto/msgheader.pb.h"
 
-#include "ctrl.pb.h"
+#include "hardware/ril/mock-ril/src/proto/ctrl.pb.h"
 #include "ctrl_server.h"
 
 //#define CONTROL_SERVER_DEBUG
diff --git a/mock-ril/src/cpp/experiments.cpp b/mock-ril/src/cpp/experiments.cpp
index 317fd9d..5fa6fec 100644
--- a/mock-ril/src/cpp/experiments.cpp
+++ b/mock-ril/src/cpp/experiments.cpp
@@ -15,14 +15,14 @@
  */
 
 #include <v8.h>
-#include <telephony/ril.h>
+#include "ril.h"
 
 #include "logging.h"
 #include "status.h"
 #include "worker.h"
 #include "util.h"
 
-#include "ril.pb.h"
+#include "hardware/ril/mock-ril/src/proto/ril.pb.h"
 
 #include "logging.h"
 #include "js_support.h"
diff --git a/mock-ril/src/cpp/js_support.cpp b/mock-ril/src/cpp/js_support.cpp
index 9497176..a2ce9c5 100644
--- a/mock-ril/src/cpp/js_support.cpp
+++ b/mock-ril/src/cpp/js_support.cpp
@@ -15,7 +15,7 @@
  */
 
 #include <v8.h>
-#include <telephony/ril.h>
+#include "ril.h"
 
 #include "ctrl_server.h"
 #include "logging.h"
diff --git a/mock-ril/src/cpp/js_support.h b/mock-ril/src/cpp/js_support.h
index 6c70b82..3116f1d 100644
--- a/mock-ril/src/cpp/js_support.h
+++ b/mock-ril/src/cpp/js_support.h
@@ -18,7 +18,7 @@
 #define MOCK_RIL_JS_SUPPORT_H_
 
 #include <v8.h>
-#include <telephony/ril.h>
+#include "ril.h"
 
 // The global value of radio state shared between cpp and js code.
 extern RIL_RadioState gRadioState;
diff --git a/mock-ril/src/cpp/mock_ril.cpp b/mock-ril/src/cpp/mock_ril.cpp
index 88da546..f6b6807 100644
--- a/mock-ril/src/cpp/mock_ril.cpp
+++ b/mock-ril/src/cpp/mock_ril.cpp
@@ -14,7 +14,6 @@
  * limitations under the License.
  */
 
-#include <telephony/ril.h>
 #include <stdio.h>
 #include <assert.h>
 #include <string.h>
@@ -31,8 +30,9 @@
 #include <termios.h>
 
 #include <v8.h>
+#include "ril.h"
 
-#include "ril.pb.h"
+#include "hardware/ril/mock-ril/src/proto/ril.pb.h"
 
 #include "ctrl_server.h"
 #include "logging.h"
diff --git a/mock-ril/src/cpp/mock_ril.h b/mock-ril/src/cpp/mock_ril.h
index c29b5ed..38745d6 100644
--- a/mock-ril/src/cpp/mock_ril.h
+++ b/mock-ril/src/cpp/mock_ril.h
@@ -17,7 +17,7 @@
 #ifndef MOCK_RIL_MOCK_RIL_H_
 #define MOCK_RIL_MOCK_RIL_H_
 
-#include <telephony/ril.h>
+#include "ril.h"
 
 extern const struct RIL_Env *s_rilenv;
 
diff --git a/mock-ril/src/cpp/msgheader.pb.cpp b/mock-ril/src/cpp/msgheader.pb.cpp
index b4bd1a5..dd10c94 100644
--- a/mock-ril/src/cpp/msgheader.pb.cpp
+++ b/mock-ril/src/cpp/msgheader.pb.cpp
@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 
 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
-#include "msgheader.pb.h"
+#include "hardware/ril/mock-ril/src/proto/msgheader.pb.h"
 #include <google/protobuf/stubs/once.h>
 #include <google/protobuf/io/coded_stream.h>
 #include <google/protobuf/wire_format_lite_inl.h>
diff --git a/mock-ril/src/cpp/node_buffer.cpp b/mock-ril/src/cpp/node_buffer.cpp
index 3b4af5e..d72e19e 100644
--- a/mock-ril/src/cpp/node_buffer.cpp
+++ b/mock-ril/src/cpp/node_buffer.cpp
@@ -187,10 +187,8 @@
     Local<Array> a = Local<Array>::Cast(args[0]);
     buffer = new Buffer(a->Length());
     char *p = buffer->data();
-    for (int i = 0; i < a->Length(); i++) {
-      Handle<Value> index = v8::Number::New(i);
-      p[i] = a->Get(index)->Uint32Value();
-      //p[i] = a->Get(i)->Uint32Value();
+    for (unsigned int i = 0; i < a->Length(); i++) {
+      p[i] = a->Get(i)->Uint32Value();
     }
   } else if (args[0]->IsString()) {
     Local<String> s = args[0]->ToString();
@@ -443,12 +441,12 @@
   int char_written;
 
   int written = s->WriteUtf8((char*)p,
-                             buffer->length_ - offset);
-//                             &char_written,
-//                             String::HINT_MANY_WRITES_EXPECTED);
+                             buffer->length_ - offset,
+                             &char_written,
+                             String::HINT_MANY_WRITES_EXPECTED);
 
   constructor_template->GetFunction()->Set(chars_written_sym,
-                                           Integer::New(written));
+                                           Integer::New(char_written));
 
   if (written > 0 && p[written-1] == '\0') written--;
 
@@ -484,7 +482,7 @@
 
   size_t towrite = MIN((unsigned long) s->Length(), buffer->length_ - offset);
 
-  int written = s->WriteAscii((char*)p, 0, towrite);
+  int written = s->WriteAscii((char*)p, 0, towrite, String::HINT_MANY_WRITES_EXPECTED);
   DBG("Buffer::AsciiWrite(args) X");
   return scope.Close(Integer::New(written));
 }
diff --git a/mock-ril/src/cpp/node_util.cpp b/mock-ril/src/cpp/node_util.cpp
index 8368848..5048e53 100644
--- a/mock-ril/src/cpp/node_util.cpp
+++ b/mock-ril/src/cpp/node_util.cpp
@@ -115,12 +115,12 @@
   v8::Local<v8::String> str = val->ToString();
 
   if (encoding == UTF8) {
-    str->WriteUtf8(buf, buflen);
+    str->WriteUtf8(buf, buflen, NULL, v8::String::HINT_MANY_WRITES_EXPECTED);
     return buflen;
   }
 
   if (encoding == ASCII) {
-    str->WriteAscii(buf, 0, buflen);
+    str->WriteAscii(buf, 0, buflen, v8::String::HINT_MANY_WRITES_EXPECTED);
     return buflen;
   }
 
@@ -130,7 +130,7 @@
 
   uint16_t * twobytebuf = new uint16_t[buflen];
 
-  str->Write(twobytebuf, 0, buflen);
+  str->Write(twobytebuf, 0, buflen, v8::String::HINT_MANY_WRITES_EXPECTED);
 
   for (size_t i = 0; i < buflen; i++) {
     unsigned char *b = reinterpret_cast<unsigned char*>(&twobytebuf[i]);
diff --git a/mock-ril/src/cpp/protobuf_v8.cpp b/mock-ril/src/cpp/protobuf_v8.cpp
index c4acb0a..1622ba5 100644
--- a/mock-ril/src/cpp/protobuf_v8.cpp
+++ b/mock-ril/src/cpp/protobuf_v8.cpp
@@ -126,7 +126,7 @@
 
       Handle<Function> Constructor() const {
         DBG("Type::Constrocutor() EX:");
-        return Handle<Function>::Cast(handle_->GetInternalField(2));
+        return handle_->GetInternalField(2).As<Function>();
       }
 
       Local<Object> NewObject(Handle<Value> properties) const {
@@ -164,18 +164,18 @@
         // managed type->schema link
         self->SetInternalField(1, schema_->handle_);
 
-        Handle<Function> constructor = Handle<Function>::Cast(
-          Script::Compile(String::New(from.str().c_str()))->Run());
+        Handle<Function> constructor =
+          Script::Compile(String::New(from.str().c_str()))->Run().As<Function>();
         constructor->SetHiddenValue(String::New("type"), self);
 
-        Handle<Function> bind = Handle<Function>::Cast(
+        Handle<Function> bind =
           Script::Compile(String::New(
               "(function(self) {"
               "  var f = this;"
               "  return function(arg) {"
               "    return f.call(self, arg);"
               "  };"
-              "})"))->Run());
+              "})"))->Run().As<Function>();
         Handle<Value> arg = self;
         constructor->Set(String::New("parse"), bind->Call(ParseTemplate->GetFunction(), 1, &arg));
         constructor->Set(String::New("serialize"), bind->Call(SerializeTemplate->GetFunction(), 1, &arg));
@@ -265,8 +265,7 @@
             int size = reflection->FieldSize(instance, field);
             Handle<Array> array = Array::New(size);
             for (int j = 0; j < size; j++) {
-              Handle<Value> index = Number::New(i);
-              array->Set(index, ToJs(instance, reflection, field, child_type, j));
+              array->Set(j, ToJs(instance, reflection, field, child_type, j));
             }
             value = array;
           } else {
@@ -274,8 +273,7 @@
           }
 
           DBG("Type::ToJs: set property[%d]=%s", i, ToCString(value));
-          Handle<Value> key = Number::New(i);
-          properties->Set(key, value);
+          properties->Set(i, value);
         }
 
         DBG("Type::ToJs(Message) X:");
@@ -317,7 +315,7 @@
           ok = type->ToProto(repeated ?
                                 reflection->AddMessage(instance, field) :
                                 reflection->MutableMessage(instance, field),
-                                    Handle<Object>::Cast(value));
+                                    value.As<Object>());
           break;
         case FieldDescriptor::CPPTYPE_STRING: {
           DBG("Type::ToProto CPPTYPE_STRING");
@@ -402,11 +400,11 @@
       bool ToProto(Message* instance, Handle<Object> src) const {
         DBG("ToProto(Message *, Handle<Object>) E:");
 
-        Handle<Function> to_array = Handle<Function>::Cast(handle_->GetInternalField(3));
-        Handle<Array> properties = Handle<Array>::Cast(to_array->Call(src, 0, NULL));
+        Handle<Function> to_array = handle_->GetInternalField(3).As<Function>();
+        Handle<Array> properties = to_array->Call(src, 0, NULL).As<Array>();
         bool ok = true;
         for (int i = 0; ok && (i < descriptor_->field_count()); i++) {
-          Handle<Value> value = properties->Get(Number::New(i));
+          Handle<Value> value = properties->Get(i);
           if (value->IsUndefined()) continue;
 
           const FieldDescriptor* field = descriptor_->field(i);
@@ -417,10 +415,10 @@
             if(!value->IsArray()) {
               ok = ToProto(instance, field, value, child_type, true);
             } else {
-              Handle<Array> array = Handle<Array>::Cast(value);
+              Handle<Array> array = value.As<Array>();
               int length = array->Length();
               for (int j = 0; ok && (j < length); j++) {
-                ok = ToProto(instance, field, array->Get(Number::New(j)), child_type, true);
+                ok = ToProto(instance, field, array->Get(j), child_type, true);
               }
             }
           } else {
@@ -441,7 +439,7 @@
 
         Type* type = UnwrapThis<Type>(args);
         Message* message = type->NewMessage();
-        if (type->ToProto(message, Handle<Object>::Cast(args[0]))) {
+        if (type->ToProto(message, args[0].As<Object>())) {
           int length = message->ByteSize();
           Buffer* buffer = Buffer::New(length);
           message->SerializeWithCachedSizesToArray((google::protobuf::uint8*)buffer->data());
@@ -474,9 +472,8 @@
         new Type(this, descriptor, TypeTemplate->GetFunction()->NewInstance());
 
       // managed schema->[type] link
-      Handle<Array> types = Handle<Array>::Cast(handle_->GetInternalField(1));
-      Handle<Value> key = Number::New(types->Length());
-      types->Set(key, result->handle_);
+      Handle<Array> types = handle_->GetInternalField(1).As<Array>();
+      types->Set(types->Length(), result->handle_);
       DBG("Schema::GetType(descriptor) X:");
       return result;
     }
diff --git a/mock-ril/src/cpp/requests.cpp b/mock-ril/src/cpp/requests.cpp
index 3e967af..366ba30 100644
--- a/mock-ril/src/cpp/requests.cpp
+++ b/mock-ril/src/cpp/requests.cpp
@@ -17,10 +17,10 @@
 #include <map>
 
 #include <v8.h>
-#include <telephony/ril.h>
+#include "ril.h"
 
 
-#include "ril.pb.h"
+#include "hardware/ril/mock-ril/src/proto/ril.pb.h"
 
 #include "logging.h"
 #include "js_support.h"
@@ -417,8 +417,8 @@
     rilReqConversionMap[RIL_REQUEST_CONFERENCE] = ReqWithNoData;  // 16
     rilReqConversionMap[RIL_REQUEST_LAST_CALL_FAIL_CAUSE] = ReqWithNoData;  // 18
     rilReqConversionMap[RIL_REQUEST_SIGNAL_STRENGTH] = ReqWithNoData; // 19
-    rilReqConversionMap[RIL_REQUEST_REGISTRATION_STATE] = ReqWithNoData; // 20
-    rilReqConversionMap[RIL_REQUEST_GPRS_REGISTRATION_STATE] = ReqWithNoData; // 21
+    rilReqConversionMap[RIL_REQUEST_VOICE_REGISTRATION_STATE] = ReqWithNoData; // 20
+    rilReqConversionMap[RIL_REQUEST_DATA_REGISTRATION_STATE] = ReqWithNoData; // 21
     rilReqConversionMap[RIL_REQUEST_OPERATOR] = ReqWithNoData; // 22
     rilReqConversionMap[RIL_REQUEST_GET_IMEI] = ReqWithNoData; // 38
     rilReqConversionMap[RIL_REQUEST_GET_IMEISV] = ReqWithNoData; // 39
diff --git a/mock-ril/src/cpp/responses.cpp b/mock-ril/src/cpp/responses.cpp
index af00b89..d13fecf 100644
--- a/mock-ril/src/cpp/responses.cpp
+++ b/mock-ril/src/cpp/responses.cpp
@@ -17,9 +17,9 @@
 #include <map>
 
 #include <v8.h>
-#include <telephony/ril.h>
+#include "ril.h"
 
-#include "ril.pb.h"
+#include "hardware/ril/mock-ril/src/proto/ril.pb.h"
 
 #include "logging.h"
 #include "mock_ril.h"
@@ -139,10 +139,11 @@
     ril_proto::RspGetSimStatus *rsp = new ril_proto::RspGetSimStatus();
     rsp->ParseFromArray(buffer->data(), buffer->length());
     const ril_proto::RilCardStatus& r = rsp->card_status();
-    RIL_CardStatus cardStatus;
+    RIL_CardStatus_v6 cardStatus;
     cardStatus.card_state = RIL_CardState(r.card_state());
     cardStatus.universal_pin_state = RIL_PinState(r.universal_pin_state());
     cardStatus.gsm_umts_subscription_app_index = r.gsm_umts_subscription_app_index();
+    cardStatus.ims_subscription_app_index = r.ims_subscription_app_index();
     cardStatus.num_applications = r.num_applications();
     for (int i = 0; i < cardStatus.num_applications; i++) {
        cardStatus.applications[i].app_type = RIL_AppType(r.applications(i).app_type());
@@ -237,6 +238,47 @@
     return rilErrno;
 }
 
+
+void unmarshallRilSignalStrength(Buffer *buffer, RIL_SignalStrength_v6 *pSignalStrength) {
+    // Retrieve response from response message
+    ril_proto::RspSignalStrength *rsp = new ril_proto::RspSignalStrength();
+    rsp->ParseFromArray(buffer->data(), buffer->length());
+    const ril_proto::RILGWSignalStrength& gwST = rsp->gw_signalstrength();
+    const ril_proto::RILCDMASignalStrength& cdmaST = rsp->cdma_signalstrength();
+    const ril_proto::RILEVDOSignalStrength& evdoST = rsp->evdo_signalstrength();
+    const ril_proto::RILLTESignalStrength& lteST = rsp->lte_signalstrength();
+
+    // Copy the response message from response to format defined in ril.h
+    RIL_SignalStrength_v6 curSignalStrength;
+
+    curSignalStrength.GW_SignalStrength.signalStrength = gwST.signal_strength();
+    curSignalStrength.GW_SignalStrength.bitErrorRate = gwST.bit_error_rate();
+    curSignalStrength.CDMA_SignalStrength.dbm = cdmaST.dbm();
+    curSignalStrength.CDMA_SignalStrength.ecio = cdmaST.ecio();
+    curSignalStrength.EVDO_SignalStrength.dbm = evdoST.dbm();
+    curSignalStrength.EVDO_SignalStrength.ecio = evdoST.ecio();
+    curSignalStrength.EVDO_SignalStrength.signalNoiseRatio = evdoST.signal_noise_ratio();
+    curSignalStrength.LTE_SignalStrength.signalStrength = lteST.signal_strength();
+    curSignalStrength.LTE_SignalStrength.rsrp = lteST.rsrp();
+    curSignalStrength.LTE_SignalStrength.rsrq = lteST.rsrq();
+    curSignalStrength.LTE_SignalStrength.rssnr = lteST.rssnr();
+    curSignalStrength.LTE_SignalStrength.cqi = lteST.cqi();
+
+    DBG("print response signal strength: ");
+    DBG("gw signalstrength = %d", curSignalStrength.GW_SignalStrength.signalStrength);
+    DBG("gw_bitErrorRate = %d", curSignalStrength.GW_SignalStrength.bitErrorRate);
+    DBG("cdma_dbm = %d", curSignalStrength.CDMA_SignalStrength.dbm);
+    DBG("cdma_ecio = %d", curSignalStrength.CDMA_SignalStrength.ecio);
+    DBG("evdo_dbm = %d", curSignalStrength.EVDO_SignalStrength.dbm);
+    DBG("evdo_ecio = %d", curSignalStrength.EVDO_SignalStrength.ecio);
+    DBG("evdo_signalNoiseRatio = %d", curSignalStrength.EVDO_SignalStrength.signalNoiseRatio);
+    DBG("lte_signalStrength = %d", curSignalStrength.LTE_SignalStrength.signalStrength);
+    DBG("lte_rsrp = %d", curSignalStrength.LTE_SignalStrength.rsrp);
+    DBG("lte_rsrq = %d", curSignalStrength.LTE_SignalStrength.rsrq);
+    DBG("lte_rssnr = %d", curSignalStrength.LTE_SignalStrength.rssnr);
+    DBG("lte_cqi = %d", curSignalStrength.LTE_SignalStrength.cqi);
+}
+
 /**
  * Handle RIL_REQUEST_SIGNAL_STRENGTH response
  */
@@ -252,26 +294,11 @@
     const ril_proto::RILGWSignalStrength& gwST = rsp->gw_signalstrength();
     const ril_proto::RILCDMASignalStrength& cdmaST = rsp->cdma_signalstrength();
     const ril_proto::RILEVDOSignalStrength& evdoST = rsp->evdo_signalstrength();
+    const ril_proto::RILLTESignalStrength& lteST = rsp->lte_signalstrength();
 
     // Copy the response message from response to format defined in ril.h
-    RIL_SignalStrength curSignalStrength;
-
-    curSignalStrength.GW_SignalStrength.signalStrength = gwST.signal_strength();
-    curSignalStrength.GW_SignalStrength.bitErrorRate = gwST.bit_error_rate();
-    curSignalStrength.CDMA_SignalStrength.dbm = cdmaST.dbm();
-    curSignalStrength.CDMA_SignalStrength.ecio = cdmaST.ecio();
-    curSignalStrength.EVDO_SignalStrength.dbm = evdoST.dbm();
-    curSignalStrength.EVDO_SignalStrength.ecio = evdoST.ecio();
-    curSignalStrength.EVDO_SignalStrength.signalNoiseRatio = evdoST.signal_noise_ratio();
-
-    DBG("print response signal strength: ");
-    DBG("gw signalstrength = %d", curSignalStrength.GW_SignalStrength.signalStrength);
-    DBG("gw_signalstrength = %d", curSignalStrength.GW_SignalStrength.bitErrorRate);
-    DBG("cdma_signalstrength = %d", curSignalStrength.CDMA_SignalStrength.dbm);
-    DBG("cdma_signalstrength = %d", curSignalStrength.CDMA_SignalStrength.ecio);
-    DBG("evdo_signalstrength = %d", curSignalStrength.EVDO_SignalStrength.dbm);
-    DBG("evdo_signalstrength = %d", curSignalStrength.EVDO_SignalStrength.ecio);
-    DBG("evdo_signalstrength = %d", curSignalStrength.EVDO_SignalStrength.signalNoiseRatio);
+    RIL_SignalStrength_v6 curSignalStrength;
+    unmarshallRilSignalStrength(buffer, &curSignalStrength);
 
     // Complete the request
     s_rilenv->OnRequestComplete(token, rilErrno, &curSignalStrength, sizeof(curSignalStrength));
@@ -328,24 +355,8 @@
     const ril_proto::RILEVDOSignalStrength& evdoST = rsp->evdo_signalstrength();
 
     // Copy the response message from response to format defined in ril.h
-    RIL_SignalStrength curSignalStrength;
-
-    curSignalStrength.GW_SignalStrength.signalStrength = gwST.signal_strength();
-    curSignalStrength.GW_SignalStrength.bitErrorRate = gwST.bit_error_rate();
-    curSignalStrength.CDMA_SignalStrength.dbm = cdmaST.dbm();
-    curSignalStrength.CDMA_SignalStrength.ecio = cdmaST.ecio();
-    curSignalStrength.EVDO_SignalStrength.dbm = evdoST.dbm();
-    curSignalStrength.EVDO_SignalStrength.ecio = evdoST.ecio();
-    curSignalStrength.EVDO_SignalStrength.signalNoiseRatio = evdoST.signal_noise_ratio();
-
-    DBG("print response signal strength: ");
-    DBG("gw signalstrength = %d", curSignalStrength.GW_SignalStrength.signalStrength);
-    DBG("gw_signalstrength = %d", curSignalStrength.GW_SignalStrength.bitErrorRate);
-    DBG("cdma_signalstrength = %d", curSignalStrength.CDMA_SignalStrength.dbm);
-    DBG("cdma_signalstrength = %d", curSignalStrength.CDMA_SignalStrength.ecio);
-    DBG("evdo_signalstrength = %d", curSignalStrength.EVDO_SignalStrength.dbm);
-    DBG("evdo_signalstrength = %d", curSignalStrength.EVDO_SignalStrength.ecio);
-    DBG("evdo_signalstrength = %d", curSignalStrength.EVDO_SignalStrength.signalNoiseRatio);
+    RIL_SignalStrength_v6 curSignalStrength;
+    unmarshallRilSignalStrength(buffer, &curSignalStrength);
 
     s_rilenv->OnUnsolicitedResponse(cmd, &curSignalStrength, sizeof(curSignalStrength));
     DBG("UnsolRspSignalStrength X");
@@ -504,8 +515,8 @@
     rilRspConversionMap[RIL_REQUEST_CONFERENCE] = RspWithNoData;  // 16
     rilRspConversionMap[RIL_REQUEST_LAST_CALL_FAIL_CAUSE] = RspIntegers;  // 18
     rilRspConversionMap[RIL_REQUEST_SIGNAL_STRENGTH] = RspSignalStrength; // 19
-    rilRspConversionMap[RIL_REQUEST_REGISTRATION_STATE] = RspStrings; // 20
-    rilRspConversionMap[RIL_REQUEST_GPRS_REGISTRATION_STATE] = RspStrings; // 21
+    rilRspConversionMap[RIL_REQUEST_VOICE_REGISTRATION_STATE] = RspStrings; // 20
+    rilRspConversionMap[RIL_REQUEST_DATA_REGISTRATION_STATE] = RspStrings; // 21
     rilRspConversionMap[RIL_REQUEST_OPERATOR] = RspOperator; // 22
     rilRspConversionMap[RIL_REQUEST_GET_IMEI] = RspString; // 38
     rilRspConversionMap[RIL_REQUEST_GET_IMEISV] = RspString; // 39
diff --git a/mock-ril/src/cpp/ril.h b/mock-ril/src/cpp/ril.h
new file mode 120000
index 0000000..eb9a122
--- /dev/null
+++ b/mock-ril/src/cpp/ril.h
@@ -0,0 +1 @@
+../../../include/telephony/ril.h
\ No newline at end of file
diff --git a/mock-ril/src/cpp/v8_extension.cc~ b/mock-ril/src/cpp/v8_extension.cc~
deleted file mode 100644
index 09397f9..0000000
--- a/mock-ril/src/cpp/v8_extension.cc~
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#include "v8_extension.h"
-
-Local<Value> v8::Object::Get(uint32_t index) {
-  ON_BAILOUT("v8::Object::Get()", return Local<v8::Value>());
-  ENTER_V8;
-  i::Handle<i::JSObject> self = Utils::OpenHandle(this);
-  EXCEPTION_PREAMBLE();
-  i::Handle<i::Object> result = i::GetElement(self, index);
-  has_pending_exception = result.is_null();
-  EXCEPTION_BAILOUT_CHECK(Local<Value>());
-  return Utils::ToLocal(result);
-}
-
-
diff --git a/mock-ril/src/generated/cpp/ctrl.pb.cpp b/mock-ril/src/generated/cpp/ctrl.pb.cpp
deleted file mode 100644
index e31da9c..0000000
--- a/mock-ril/src/generated/cpp/ctrl.pb.cpp
+++ /dev/null
@@ -1,1608 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
-#include "ctrl.pb.h"
-#include <google/protobuf/stubs/once.h>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-
-namespace ril_proto {
-
-namespace {
-
-const ::google::protobuf::Descriptor* CtrlReqRadioState_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  CtrlReqRadioState_reflection_ = NULL;
-const ::google::protobuf::Descriptor* CtrlRspRadioState_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  CtrlRspRadioState_reflection_ = NULL;
-const ::google::protobuf::Descriptor* CtrlReqSetMTCall_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  CtrlReqSetMTCall_reflection_ = NULL;
-const ::google::protobuf::Descriptor* CtrlHangupConnRemote_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  CtrlHangupConnRemote_reflection_ = NULL;
-const ::google::protobuf::Descriptor* CtrlSetCallTransitionFlag_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  CtrlSetCallTransitionFlag_reflection_ = NULL;
-const ::google::protobuf::Descriptor* CtrlReqAddDialingCall_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  CtrlReqAddDialingCall_reflection_ = NULL;
-const ::google::protobuf::EnumDescriptor* CtrlCmd_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* CtrlStatus_descriptor_ = NULL;
-
-}  // namespace
-
-
-void protobuf_AssignDesc_ctrl_2eproto() {
-  protobuf_AddDesc_ctrl_2eproto();
-  const ::google::protobuf::FileDescriptor* file =
-    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
-      "ctrl.proto");
-  GOOGLE_CHECK(file != NULL);
-  CtrlReqRadioState_descriptor_ = file->message_type(0);
-  static const int CtrlReqRadioState_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqRadioState, state_),
-  };
-  CtrlReqRadioState_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      CtrlReqRadioState_descriptor_,
-      CtrlReqRadioState::default_instance_,
-      CtrlReqRadioState_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqRadioState, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqRadioState, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(CtrlReqRadioState));
-  CtrlRspRadioState_descriptor_ = file->message_type(1);
-  static const int CtrlRspRadioState_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlRspRadioState, state_),
-  };
-  CtrlRspRadioState_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      CtrlRspRadioState_descriptor_,
-      CtrlRspRadioState::default_instance_,
-      CtrlRspRadioState_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlRspRadioState, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlRspRadioState, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(CtrlRspRadioState));
-  CtrlReqSetMTCall_descriptor_ = file->message_type(2);
-  static const int CtrlReqSetMTCall_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqSetMTCall, phone_number_),
-  };
-  CtrlReqSetMTCall_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      CtrlReqSetMTCall_descriptor_,
-      CtrlReqSetMTCall::default_instance_,
-      CtrlReqSetMTCall_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqSetMTCall, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqSetMTCall, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(CtrlReqSetMTCall));
-  CtrlHangupConnRemote_descriptor_ = file->message_type(3);
-  static const int CtrlHangupConnRemote_offsets_[2] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlHangupConnRemote, connection_id_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlHangupConnRemote, call_fail_cause_),
-  };
-  CtrlHangupConnRemote_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      CtrlHangupConnRemote_descriptor_,
-      CtrlHangupConnRemote::default_instance_,
-      CtrlHangupConnRemote_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlHangupConnRemote, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlHangupConnRemote, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(CtrlHangupConnRemote));
-  CtrlSetCallTransitionFlag_descriptor_ = file->message_type(4);
-  static const int CtrlSetCallTransitionFlag_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlSetCallTransitionFlag, flag_),
-  };
-  CtrlSetCallTransitionFlag_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      CtrlSetCallTransitionFlag_descriptor_,
-      CtrlSetCallTransitionFlag::default_instance_,
-      CtrlSetCallTransitionFlag_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlSetCallTransitionFlag, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlSetCallTransitionFlag, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(CtrlSetCallTransitionFlag));
-  CtrlReqAddDialingCall_descriptor_ = file->message_type(5);
-  static const int CtrlReqAddDialingCall_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqAddDialingCall, phone_number_),
-  };
-  CtrlReqAddDialingCall_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      CtrlReqAddDialingCall_descriptor_,
-      CtrlReqAddDialingCall::default_instance_,
-      CtrlReqAddDialingCall_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqAddDialingCall, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CtrlReqAddDialingCall, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(CtrlReqAddDialingCall));
-  CtrlCmd_descriptor_ = file->enum_type(0);
-  CtrlStatus_descriptor_ = file->enum_type(1);
-}
-
-namespace {
-
-GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
-inline void protobuf_AssignDescriptorsOnce() {
-  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
-                 &protobuf_AssignDesc_ctrl_2eproto);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    CtrlReqRadioState_descriptor_, &CtrlReqRadioState::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    CtrlRspRadioState_descriptor_, &CtrlRspRadioState::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    CtrlReqSetMTCall_descriptor_, &CtrlReqSetMTCall::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    CtrlHangupConnRemote_descriptor_, &CtrlHangupConnRemote::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    CtrlSetCallTransitionFlag_descriptor_, &CtrlSetCallTransitionFlag::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    CtrlReqAddDialingCall_descriptor_, &CtrlReqAddDialingCall::default_instance());
-}
-
-}  // namespace
-
-void protobuf_ShutdownFile_ctrl_2eproto() {
-  delete CtrlReqRadioState::default_instance_;
-  delete CtrlReqRadioState_reflection_;
-  delete CtrlRspRadioState::default_instance_;
-  delete CtrlRspRadioState_reflection_;
-  delete CtrlReqSetMTCall::default_instance_;
-  delete CtrlReqSetMTCall_reflection_;
-  delete CtrlHangupConnRemote::default_instance_;
-  delete CtrlHangupConnRemote_reflection_;
-  delete CtrlSetCallTransitionFlag::default_instance_;
-  delete CtrlSetCallTransitionFlag_reflection_;
-  delete CtrlReqAddDialingCall::default_instance_;
-  delete CtrlReqAddDialingCall_reflection_;
-}
-
-void protobuf_AddDesc_ctrl_2eproto() {
-  static bool already_here = false;
-  if (already_here) return;
-  already_here = true;
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  ::ril_proto::protobuf_AddDesc_ril_2eproto();
-  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-    "\n\nctrl.proto\022\tril_proto\032\tril.proto\"9\n\021Ct"
-    "rlReqRadioState\022$\n\005state\030\001 \002(\0162\025.ril_pro"
-    "to.RadioState\"9\n\021CtrlRspRadioState\022$\n\005st"
-    "ate\030\001 \002(\0162\025.ril_proto.RadioState\"(\n\020Ctrl"
-    "ReqSetMTCall\022\024\n\014phone_number\030\001 \002(\t\"F\n\024Ct"
-    "rlHangupConnRemote\022\025\n\rconnection_id\030\001 \002("
-    "\005\022\027\n\017call_fail_cause\030\002 \002(\005\")\n\031CtrlSetCal"
-    "lTransitionFlag\022\014\n\004flag\030\001 \002(\010\"-\n\025CtrlReq"
-    "AddDialingCall\022\024\n\014phone_number\030\001 \002(\t*\232\002\n"
-    "\007CtrlCmd\022\021\n\rCTRL_CMD_ECHO\020\000\022\034\n\030CTRL_CMD_"
-    "GET_RADIO_STATE\020\001\022\034\n\030CTRL_CMD_SET_RADIO_"
-    "STATE\020\002\022\031\n\024CTRL_CMD_SET_MT_CALL\020\351\007\022 \n\033CT"
-    "RL_CMD_HANGUP_CONN_REMOTE\020\352\007\022&\n!CTRL_CMD"
-    "_SET_CALL_TRANSITION_FLAG\020\353\007\022\034\n\027CTRL_CMD"
-    "_SET_CALL_ALERT\020\354\007\022\035\n\030CTRL_CMD_SET_CALL_"
-    "ACTIVE\020\355\007\022\036\n\031CTRL_CMD_ADD_DIALING_CALL\020\356"
-    "\007*5\n\nCtrlStatus\022\022\n\016CTRL_STATUS_OK\020\000\022\023\n\017C"
-    "TRL_STATUS_ERR\020\001B7\n(com.android.internal"
-    ".telephony.ril_protoB\013RilCtrlCmds", 753);
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
-    "ctrl.proto", &protobuf_RegisterTypes);
-  CtrlReqRadioState::default_instance_ = new CtrlReqRadioState();
-  CtrlRspRadioState::default_instance_ = new CtrlRspRadioState();
-  CtrlReqSetMTCall::default_instance_ = new CtrlReqSetMTCall();
-  CtrlHangupConnRemote::default_instance_ = new CtrlHangupConnRemote();
-  CtrlSetCallTransitionFlag::default_instance_ = new CtrlSetCallTransitionFlag();
-  CtrlReqAddDialingCall::default_instance_ = new CtrlReqAddDialingCall();
-  CtrlReqRadioState::default_instance_->InitAsDefaultInstance();
-  CtrlRspRadioState::default_instance_->InitAsDefaultInstance();
-  CtrlReqSetMTCall::default_instance_->InitAsDefaultInstance();
-  CtrlHangupConnRemote::default_instance_->InitAsDefaultInstance();
-  CtrlSetCallTransitionFlag::default_instance_->InitAsDefaultInstance();
-  CtrlReqAddDialingCall::default_instance_->InitAsDefaultInstance();
-  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ctrl_2eproto);
-}
-
-// Force AddDescriptors() to be called at static initialization time.
-struct StaticDescriptorInitializer_ctrl_2eproto {
-  StaticDescriptorInitializer_ctrl_2eproto() {
-    protobuf_AddDesc_ctrl_2eproto();
-  }
-} static_descriptor_initializer_ctrl_2eproto_;
-
-const ::google::protobuf::EnumDescriptor* CtrlCmd_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlCmd_descriptor_;
-}
-bool CtrlCmd_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 1001:
-    case 1002:
-    case 1003:
-    case 1004:
-    case 1005:
-    case 1006:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* CtrlStatus_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlStatus_descriptor_;
-}
-bool CtrlStatus_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-      return true;
-    default:
-      return false;
-  }
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int CtrlReqRadioState::kStateFieldNumber;
-#endif  // !_MSC_VER
-
-CtrlReqRadioState::CtrlReqRadioState()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void CtrlReqRadioState::InitAsDefaultInstance() {
-}
-
-CtrlReqRadioState::CtrlReqRadioState(const CtrlReqRadioState& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void CtrlReqRadioState::SharedCtor() {
-  _cached_size_ = 0;
-  state_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-CtrlReqRadioState::~CtrlReqRadioState() {
-  SharedDtor();
-}
-
-void CtrlReqRadioState::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void CtrlReqRadioState::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* CtrlReqRadioState::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlReqRadioState_descriptor_;
-}
-
-const CtrlReqRadioState& CtrlReqRadioState::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ctrl_2eproto();  return *default_instance_;
-}
-
-CtrlReqRadioState* CtrlReqRadioState::default_instance_ = NULL;
-
-CtrlReqRadioState* CtrlReqRadioState::New() const {
-  return new CtrlReqRadioState;
-}
-
-void CtrlReqRadioState::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    state_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool CtrlReqRadioState::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .ril_proto.RadioState state = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RadioState_IsValid(value)) {
-            set_state(static_cast< ril_proto::RadioState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(1, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void CtrlReqRadioState::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required .ril_proto.RadioState state = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->state(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* CtrlReqRadioState::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required .ril_proto.RadioState state = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->state(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int CtrlReqRadioState::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .ril_proto.RadioState state = 1;
-    if (has_state()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->state());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void CtrlReqRadioState::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const CtrlReqRadioState* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const CtrlReqRadioState*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void CtrlReqRadioState::MergeFrom(const CtrlReqRadioState& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_state(from.state());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void CtrlReqRadioState::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CtrlReqRadioState::CopyFrom(const CtrlReqRadioState& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CtrlReqRadioState::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void CtrlReqRadioState::Swap(CtrlReqRadioState* other) {
-  if (other != this) {
-    std::swap(state_, other->state_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata CtrlReqRadioState::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = CtrlReqRadioState_descriptor_;
-  metadata.reflection = CtrlReqRadioState_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int CtrlRspRadioState::kStateFieldNumber;
-#endif  // !_MSC_VER
-
-CtrlRspRadioState::CtrlRspRadioState()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void CtrlRspRadioState::InitAsDefaultInstance() {
-}
-
-CtrlRspRadioState::CtrlRspRadioState(const CtrlRspRadioState& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void CtrlRspRadioState::SharedCtor() {
-  _cached_size_ = 0;
-  state_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-CtrlRspRadioState::~CtrlRspRadioState() {
-  SharedDtor();
-}
-
-void CtrlRspRadioState::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void CtrlRspRadioState::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* CtrlRspRadioState::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlRspRadioState_descriptor_;
-}
-
-const CtrlRspRadioState& CtrlRspRadioState::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ctrl_2eproto();  return *default_instance_;
-}
-
-CtrlRspRadioState* CtrlRspRadioState::default_instance_ = NULL;
-
-CtrlRspRadioState* CtrlRspRadioState::New() const {
-  return new CtrlRspRadioState;
-}
-
-void CtrlRspRadioState::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    state_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool CtrlRspRadioState::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .ril_proto.RadioState state = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RadioState_IsValid(value)) {
-            set_state(static_cast< ril_proto::RadioState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(1, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void CtrlRspRadioState::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required .ril_proto.RadioState state = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->state(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* CtrlRspRadioState::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required .ril_proto.RadioState state = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->state(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int CtrlRspRadioState::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .ril_proto.RadioState state = 1;
-    if (has_state()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->state());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void CtrlRspRadioState::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const CtrlRspRadioState* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const CtrlRspRadioState*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void CtrlRspRadioState::MergeFrom(const CtrlRspRadioState& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_state(from.state());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void CtrlRspRadioState::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CtrlRspRadioState::CopyFrom(const CtrlRspRadioState& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CtrlRspRadioState::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void CtrlRspRadioState::Swap(CtrlRspRadioState* other) {
-  if (other != this) {
-    std::swap(state_, other->state_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata CtrlRspRadioState::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = CtrlRspRadioState_descriptor_;
-  metadata.reflection = CtrlRspRadioState_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string CtrlReqSetMTCall::_default_phone_number_;
-#ifndef _MSC_VER
-const int CtrlReqSetMTCall::kPhoneNumberFieldNumber;
-#endif  // !_MSC_VER
-
-CtrlReqSetMTCall::CtrlReqSetMTCall()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void CtrlReqSetMTCall::InitAsDefaultInstance() {
-}
-
-CtrlReqSetMTCall::CtrlReqSetMTCall(const CtrlReqSetMTCall& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void CtrlReqSetMTCall::SharedCtor() {
-  _cached_size_ = 0;
-  phone_number_ = const_cast< ::std::string*>(&_default_phone_number_);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-CtrlReqSetMTCall::~CtrlReqSetMTCall() {
-  SharedDtor();
-}
-
-void CtrlReqSetMTCall::SharedDtor() {
-  if (phone_number_ != &_default_phone_number_) {
-    delete phone_number_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void CtrlReqSetMTCall::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* CtrlReqSetMTCall::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlReqSetMTCall_descriptor_;
-}
-
-const CtrlReqSetMTCall& CtrlReqSetMTCall::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ctrl_2eproto();  return *default_instance_;
-}
-
-CtrlReqSetMTCall* CtrlReqSetMTCall::default_instance_ = NULL;
-
-CtrlReqSetMTCall* CtrlReqSetMTCall::New() const {
-  return new CtrlReqSetMTCall;
-}
-
-void CtrlReqSetMTCall::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (_has_bit(0)) {
-      if (phone_number_ != &_default_phone_number_) {
-        phone_number_->clear();
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool CtrlReqSetMTCall::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string phone_number = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_phone_number()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->phone_number().data(), this->phone_number().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void CtrlReqSetMTCall::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string phone_number = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->phone_number().data(), this->phone_number().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->phone_number(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* CtrlReqSetMTCall::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string phone_number = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->phone_number().data(), this->phone_number().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->phone_number(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int CtrlReqSetMTCall::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string phone_number = 1;
-    if (has_phone_number()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->phone_number());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void CtrlReqSetMTCall::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const CtrlReqSetMTCall* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const CtrlReqSetMTCall*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void CtrlReqSetMTCall::MergeFrom(const CtrlReqSetMTCall& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_phone_number(from.phone_number());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void CtrlReqSetMTCall::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CtrlReqSetMTCall::CopyFrom(const CtrlReqSetMTCall& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CtrlReqSetMTCall::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void CtrlReqSetMTCall::Swap(CtrlReqSetMTCall* other) {
-  if (other != this) {
-    std::swap(phone_number_, other->phone_number_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata CtrlReqSetMTCall::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = CtrlReqSetMTCall_descriptor_;
-  metadata.reflection = CtrlReqSetMTCall_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int CtrlHangupConnRemote::kConnectionIdFieldNumber;
-const int CtrlHangupConnRemote::kCallFailCauseFieldNumber;
-#endif  // !_MSC_VER
-
-CtrlHangupConnRemote::CtrlHangupConnRemote()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void CtrlHangupConnRemote::InitAsDefaultInstance() {
-}
-
-CtrlHangupConnRemote::CtrlHangupConnRemote(const CtrlHangupConnRemote& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void CtrlHangupConnRemote::SharedCtor() {
-  _cached_size_ = 0;
-  connection_id_ = 0;
-  call_fail_cause_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-CtrlHangupConnRemote::~CtrlHangupConnRemote() {
-  SharedDtor();
-}
-
-void CtrlHangupConnRemote::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void CtrlHangupConnRemote::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* CtrlHangupConnRemote::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlHangupConnRemote_descriptor_;
-}
-
-const CtrlHangupConnRemote& CtrlHangupConnRemote::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ctrl_2eproto();  return *default_instance_;
-}
-
-CtrlHangupConnRemote* CtrlHangupConnRemote::default_instance_ = NULL;
-
-CtrlHangupConnRemote* CtrlHangupConnRemote::New() const {
-  return new CtrlHangupConnRemote;
-}
-
-void CtrlHangupConnRemote::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    connection_id_ = 0;
-    call_fail_cause_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool CtrlHangupConnRemote::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required int32 connection_id = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &connection_id_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_call_fail_cause;
-        break;
-      }
-      
-      // required int32 call_fail_cause = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_call_fail_cause:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &call_fail_cause_)));
-          _set_bit(1);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void CtrlHangupConnRemote::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required int32 connection_id = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->connection_id(), output);
-  }
-  
-  // required int32 call_fail_cause = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->call_fail_cause(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* CtrlHangupConnRemote::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required int32 connection_id = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->connection_id(), target);
-  }
-  
-  // required int32 call_fail_cause = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->call_fail_cause(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int CtrlHangupConnRemote::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required int32 connection_id = 1;
-    if (has_connection_id()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->connection_id());
-    }
-    
-    // required int32 call_fail_cause = 2;
-    if (has_call_fail_cause()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->call_fail_cause());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void CtrlHangupConnRemote::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const CtrlHangupConnRemote* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const CtrlHangupConnRemote*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void CtrlHangupConnRemote::MergeFrom(const CtrlHangupConnRemote& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_connection_id(from.connection_id());
-    }
-    if (from._has_bit(1)) {
-      set_call_fail_cause(from.call_fail_cause());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void CtrlHangupConnRemote::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CtrlHangupConnRemote::CopyFrom(const CtrlHangupConnRemote& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CtrlHangupConnRemote::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
-  
-  return true;
-}
-
-void CtrlHangupConnRemote::Swap(CtrlHangupConnRemote* other) {
-  if (other != this) {
-    std::swap(connection_id_, other->connection_id_);
-    std::swap(call_fail_cause_, other->call_fail_cause_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata CtrlHangupConnRemote::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = CtrlHangupConnRemote_descriptor_;
-  metadata.reflection = CtrlHangupConnRemote_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int CtrlSetCallTransitionFlag::kFlagFieldNumber;
-#endif  // !_MSC_VER
-
-CtrlSetCallTransitionFlag::CtrlSetCallTransitionFlag()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void CtrlSetCallTransitionFlag::InitAsDefaultInstance() {
-}
-
-CtrlSetCallTransitionFlag::CtrlSetCallTransitionFlag(const CtrlSetCallTransitionFlag& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void CtrlSetCallTransitionFlag::SharedCtor() {
-  _cached_size_ = 0;
-  flag_ = false;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-CtrlSetCallTransitionFlag::~CtrlSetCallTransitionFlag() {
-  SharedDtor();
-}
-
-void CtrlSetCallTransitionFlag::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void CtrlSetCallTransitionFlag::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* CtrlSetCallTransitionFlag::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlSetCallTransitionFlag_descriptor_;
-}
-
-const CtrlSetCallTransitionFlag& CtrlSetCallTransitionFlag::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ctrl_2eproto();  return *default_instance_;
-}
-
-CtrlSetCallTransitionFlag* CtrlSetCallTransitionFlag::default_instance_ = NULL;
-
-CtrlSetCallTransitionFlag* CtrlSetCallTransitionFlag::New() const {
-  return new CtrlSetCallTransitionFlag;
-}
-
-void CtrlSetCallTransitionFlag::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    flag_ = false;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool CtrlSetCallTransitionFlag::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required bool flag = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &flag_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void CtrlSetCallTransitionFlag::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required bool flag = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->flag(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* CtrlSetCallTransitionFlag::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required bool flag = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->flag(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int CtrlSetCallTransitionFlag::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required bool flag = 1;
-    if (has_flag()) {
-      total_size += 1 + 1;
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void CtrlSetCallTransitionFlag::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const CtrlSetCallTransitionFlag* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const CtrlSetCallTransitionFlag*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void CtrlSetCallTransitionFlag::MergeFrom(const CtrlSetCallTransitionFlag& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_flag(from.flag());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void CtrlSetCallTransitionFlag::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CtrlSetCallTransitionFlag::CopyFrom(const CtrlSetCallTransitionFlag& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CtrlSetCallTransitionFlag::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void CtrlSetCallTransitionFlag::Swap(CtrlSetCallTransitionFlag* other) {
-  if (other != this) {
-    std::swap(flag_, other->flag_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata CtrlSetCallTransitionFlag::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = CtrlSetCallTransitionFlag_descriptor_;
-  metadata.reflection = CtrlSetCallTransitionFlag_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string CtrlReqAddDialingCall::_default_phone_number_;
-#ifndef _MSC_VER
-const int CtrlReqAddDialingCall::kPhoneNumberFieldNumber;
-#endif  // !_MSC_VER
-
-CtrlReqAddDialingCall::CtrlReqAddDialingCall()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void CtrlReqAddDialingCall::InitAsDefaultInstance() {
-}
-
-CtrlReqAddDialingCall::CtrlReqAddDialingCall(const CtrlReqAddDialingCall& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void CtrlReqAddDialingCall::SharedCtor() {
-  _cached_size_ = 0;
-  phone_number_ = const_cast< ::std::string*>(&_default_phone_number_);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-CtrlReqAddDialingCall::~CtrlReqAddDialingCall() {
-  SharedDtor();
-}
-
-void CtrlReqAddDialingCall::SharedDtor() {
-  if (phone_number_ != &_default_phone_number_) {
-    delete phone_number_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void CtrlReqAddDialingCall::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* CtrlReqAddDialingCall::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return CtrlReqAddDialingCall_descriptor_;
-}
-
-const CtrlReqAddDialingCall& CtrlReqAddDialingCall::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ctrl_2eproto();  return *default_instance_;
-}
-
-CtrlReqAddDialingCall* CtrlReqAddDialingCall::default_instance_ = NULL;
-
-CtrlReqAddDialingCall* CtrlReqAddDialingCall::New() const {
-  return new CtrlReqAddDialingCall;
-}
-
-void CtrlReqAddDialingCall::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (_has_bit(0)) {
-      if (phone_number_ != &_default_phone_number_) {
-        phone_number_->clear();
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool CtrlReqAddDialingCall::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string phone_number = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_phone_number()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->phone_number().data(), this->phone_number().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void CtrlReqAddDialingCall::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string phone_number = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->phone_number().data(), this->phone_number().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->phone_number(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* CtrlReqAddDialingCall::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string phone_number = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->phone_number().data(), this->phone_number().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->phone_number(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int CtrlReqAddDialingCall::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string phone_number = 1;
-    if (has_phone_number()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->phone_number());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void CtrlReqAddDialingCall::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const CtrlReqAddDialingCall* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const CtrlReqAddDialingCall*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void CtrlReqAddDialingCall::MergeFrom(const CtrlReqAddDialingCall& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_phone_number(from.phone_number());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void CtrlReqAddDialingCall::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CtrlReqAddDialingCall::CopyFrom(const CtrlReqAddDialingCall& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CtrlReqAddDialingCall::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void CtrlReqAddDialingCall::Swap(CtrlReqAddDialingCall* other) {
-  if (other != this) {
-    std::swap(phone_number_, other->phone_number_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata CtrlReqAddDialingCall::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = CtrlReqAddDialingCall_descriptor_;
-  metadata.reflection = CtrlReqAddDialingCall_reflection_;
-  return metadata;
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace ril_proto
-
-// @@protoc_insertion_point(global_scope)
diff --git a/mock-ril/src/generated/cpp/ctrl.pb.h b/mock-ril/src/generated/cpp/ctrl.pb.h
deleted file mode 100644
index 6e9f166..0000000
--- a/mock-ril/src/generated/cpp/ctrl.pb.h
+++ /dev/null
@@ -1,855 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: ctrl.proto
-
-#ifndef PROTOBUF_ctrl_2eproto__INCLUDED
-#define PROTOBUF_ctrl_2eproto__INCLUDED
-
-#include <string>
-
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 2003000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
-#error your headers.
-#endif
-#if 2003000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/repeated_field.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include "ril.pb.h"
-// @@protoc_insertion_point(includes)
-
-namespace ril_proto {
-
-// Internal implementation detail -- do not call these.
-void  protobuf_AddDesc_ctrl_2eproto();
-void protobuf_AssignDesc_ctrl_2eproto();
-void protobuf_ShutdownFile_ctrl_2eproto();
-
-class CtrlReqRadioState;
-class CtrlRspRadioState;
-class CtrlReqSetMTCall;
-class CtrlHangupConnRemote;
-class CtrlSetCallTransitionFlag;
-class CtrlReqAddDialingCall;
-
-enum CtrlCmd {
-  CTRL_CMD_ECHO = 0,
-  CTRL_CMD_GET_RADIO_STATE = 1,
-  CTRL_CMD_SET_RADIO_STATE = 2,
-  CTRL_CMD_SET_MT_CALL = 1001,
-  CTRL_CMD_HANGUP_CONN_REMOTE = 1002,
-  CTRL_CMD_SET_CALL_TRANSITION_FLAG = 1003,
-  CTRL_CMD_SET_CALL_ALERT = 1004,
-  CTRL_CMD_SET_CALL_ACTIVE = 1005,
-  CTRL_CMD_ADD_DIALING_CALL = 1006
-};
-bool CtrlCmd_IsValid(int value);
-const CtrlCmd CtrlCmd_MIN = CTRL_CMD_ECHO;
-const CtrlCmd CtrlCmd_MAX = CTRL_CMD_ADD_DIALING_CALL;
-const int CtrlCmd_ARRAYSIZE = CtrlCmd_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* CtrlCmd_descriptor();
-inline const ::std::string& CtrlCmd_Name(CtrlCmd value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    CtrlCmd_descriptor(), value);
-}
-inline bool CtrlCmd_Parse(
-    const ::std::string& name, CtrlCmd* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<CtrlCmd>(
-    CtrlCmd_descriptor(), name, value);
-}
-enum CtrlStatus {
-  CTRL_STATUS_OK = 0,
-  CTRL_STATUS_ERR = 1
-};
-bool CtrlStatus_IsValid(int value);
-const CtrlStatus CtrlStatus_MIN = CTRL_STATUS_OK;
-const CtrlStatus CtrlStatus_MAX = CTRL_STATUS_ERR;
-const int CtrlStatus_ARRAYSIZE = CtrlStatus_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* CtrlStatus_descriptor();
-inline const ::std::string& CtrlStatus_Name(CtrlStatus value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    CtrlStatus_descriptor(), value);
-}
-inline bool CtrlStatus_Parse(
-    const ::std::string& name, CtrlStatus* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<CtrlStatus>(
-    CtrlStatus_descriptor(), name, value);
-}
-// ===================================================================
-
-class CtrlReqRadioState : public ::google::protobuf::Message {
- public:
-  CtrlReqRadioState();
-  virtual ~CtrlReqRadioState();
-  
-  CtrlReqRadioState(const CtrlReqRadioState& from);
-  
-  inline CtrlReqRadioState& operator=(const CtrlReqRadioState& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const CtrlReqRadioState& default_instance();
-  
-  void Swap(CtrlReqRadioState* other);
-  
-  // implements Message ----------------------------------------------
-  
-  CtrlReqRadioState* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const CtrlReqRadioState& from);
-  void MergeFrom(const CtrlReqRadioState& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required .ril_proto.RadioState state = 1;
-  inline bool has_state() const;
-  inline void clear_state();
-  static const int kStateFieldNumber = 1;
-  inline ril_proto::RadioState state() const;
-  inline void set_state(ril_proto::RadioState value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.CtrlReqRadioState)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  int state_;
-  friend void  protobuf_AddDesc_ctrl_2eproto();
-  friend void protobuf_AssignDesc_ctrl_2eproto();
-  friend void protobuf_ShutdownFile_ctrl_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static CtrlReqRadioState* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class CtrlRspRadioState : public ::google::protobuf::Message {
- public:
-  CtrlRspRadioState();
-  virtual ~CtrlRspRadioState();
-  
-  CtrlRspRadioState(const CtrlRspRadioState& from);
-  
-  inline CtrlRspRadioState& operator=(const CtrlRspRadioState& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const CtrlRspRadioState& default_instance();
-  
-  void Swap(CtrlRspRadioState* other);
-  
-  // implements Message ----------------------------------------------
-  
-  CtrlRspRadioState* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const CtrlRspRadioState& from);
-  void MergeFrom(const CtrlRspRadioState& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required .ril_proto.RadioState state = 1;
-  inline bool has_state() const;
-  inline void clear_state();
-  static const int kStateFieldNumber = 1;
-  inline ril_proto::RadioState state() const;
-  inline void set_state(ril_proto::RadioState value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.CtrlRspRadioState)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  int state_;
-  friend void  protobuf_AddDesc_ctrl_2eproto();
-  friend void protobuf_AssignDesc_ctrl_2eproto();
-  friend void protobuf_ShutdownFile_ctrl_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static CtrlRspRadioState* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class CtrlReqSetMTCall : public ::google::protobuf::Message {
- public:
-  CtrlReqSetMTCall();
-  virtual ~CtrlReqSetMTCall();
-  
-  CtrlReqSetMTCall(const CtrlReqSetMTCall& from);
-  
-  inline CtrlReqSetMTCall& operator=(const CtrlReqSetMTCall& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const CtrlReqSetMTCall& default_instance();
-  
-  void Swap(CtrlReqSetMTCall* other);
-  
-  // implements Message ----------------------------------------------
-  
-  CtrlReqSetMTCall* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const CtrlReqSetMTCall& from);
-  void MergeFrom(const CtrlReqSetMTCall& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string phone_number = 1;
-  inline bool has_phone_number() const;
-  inline void clear_phone_number();
-  static const int kPhoneNumberFieldNumber = 1;
-  inline const ::std::string& phone_number() const;
-  inline void set_phone_number(const ::std::string& value);
-  inline void set_phone_number(const char* value);
-  inline void set_phone_number(const char* value, size_t size);
-  inline ::std::string* mutable_phone_number();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.CtrlReqSetMTCall)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::std::string* phone_number_;
-  static const ::std::string _default_phone_number_;
-  friend void  protobuf_AddDesc_ctrl_2eproto();
-  friend void protobuf_AssignDesc_ctrl_2eproto();
-  friend void protobuf_ShutdownFile_ctrl_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static CtrlReqSetMTCall* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class CtrlHangupConnRemote : public ::google::protobuf::Message {
- public:
-  CtrlHangupConnRemote();
-  virtual ~CtrlHangupConnRemote();
-  
-  CtrlHangupConnRemote(const CtrlHangupConnRemote& from);
-  
-  inline CtrlHangupConnRemote& operator=(const CtrlHangupConnRemote& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const CtrlHangupConnRemote& default_instance();
-  
-  void Swap(CtrlHangupConnRemote* other);
-  
-  // implements Message ----------------------------------------------
-  
-  CtrlHangupConnRemote* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const CtrlHangupConnRemote& from);
-  void MergeFrom(const CtrlHangupConnRemote& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required int32 connection_id = 1;
-  inline bool has_connection_id() const;
-  inline void clear_connection_id();
-  static const int kConnectionIdFieldNumber = 1;
-  inline ::google::protobuf::int32 connection_id() const;
-  inline void set_connection_id(::google::protobuf::int32 value);
-  
-  // required int32 call_fail_cause = 2;
-  inline bool has_call_fail_cause() const;
-  inline void clear_call_fail_cause();
-  static const int kCallFailCauseFieldNumber = 2;
-  inline ::google::protobuf::int32 call_fail_cause() const;
-  inline void set_call_fail_cause(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.CtrlHangupConnRemote)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 connection_id_;
-  ::google::protobuf::int32 call_fail_cause_;
-  friend void  protobuf_AddDesc_ctrl_2eproto();
-  friend void protobuf_AssignDesc_ctrl_2eproto();
-  friend void protobuf_ShutdownFile_ctrl_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static CtrlHangupConnRemote* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class CtrlSetCallTransitionFlag : public ::google::protobuf::Message {
- public:
-  CtrlSetCallTransitionFlag();
-  virtual ~CtrlSetCallTransitionFlag();
-  
-  CtrlSetCallTransitionFlag(const CtrlSetCallTransitionFlag& from);
-  
-  inline CtrlSetCallTransitionFlag& operator=(const CtrlSetCallTransitionFlag& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const CtrlSetCallTransitionFlag& default_instance();
-  
-  void Swap(CtrlSetCallTransitionFlag* other);
-  
-  // implements Message ----------------------------------------------
-  
-  CtrlSetCallTransitionFlag* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const CtrlSetCallTransitionFlag& from);
-  void MergeFrom(const CtrlSetCallTransitionFlag& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required bool flag = 1;
-  inline bool has_flag() const;
-  inline void clear_flag();
-  static const int kFlagFieldNumber = 1;
-  inline bool flag() const;
-  inline void set_flag(bool value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.CtrlSetCallTransitionFlag)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  bool flag_;
-  friend void  protobuf_AddDesc_ctrl_2eproto();
-  friend void protobuf_AssignDesc_ctrl_2eproto();
-  friend void protobuf_ShutdownFile_ctrl_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static CtrlSetCallTransitionFlag* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class CtrlReqAddDialingCall : public ::google::protobuf::Message {
- public:
-  CtrlReqAddDialingCall();
-  virtual ~CtrlReqAddDialingCall();
-  
-  CtrlReqAddDialingCall(const CtrlReqAddDialingCall& from);
-  
-  inline CtrlReqAddDialingCall& operator=(const CtrlReqAddDialingCall& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const CtrlReqAddDialingCall& default_instance();
-  
-  void Swap(CtrlReqAddDialingCall* other);
-  
-  // implements Message ----------------------------------------------
-  
-  CtrlReqAddDialingCall* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const CtrlReqAddDialingCall& from);
-  void MergeFrom(const CtrlReqAddDialingCall& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string phone_number = 1;
-  inline bool has_phone_number() const;
-  inline void clear_phone_number();
-  static const int kPhoneNumberFieldNumber = 1;
-  inline const ::std::string& phone_number() const;
-  inline void set_phone_number(const ::std::string& value);
-  inline void set_phone_number(const char* value);
-  inline void set_phone_number(const char* value, size_t size);
-  inline ::std::string* mutable_phone_number();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.CtrlReqAddDialingCall)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::std::string* phone_number_;
-  static const ::std::string _default_phone_number_;
-  friend void  protobuf_AddDesc_ctrl_2eproto();
-  friend void protobuf_AssignDesc_ctrl_2eproto();
-  friend void protobuf_ShutdownFile_ctrl_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static CtrlReqAddDialingCall* default_instance_;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-// CtrlReqRadioState
-
-// required .ril_proto.RadioState state = 1;
-inline bool CtrlReqRadioState::has_state() const {
-  return _has_bit(0);
-}
-inline void CtrlReqRadioState::clear_state() {
-  state_ = 0;
-  _clear_bit(0);
-}
-inline ril_proto::RadioState CtrlReqRadioState::state() const {
-  return static_cast< ril_proto::RadioState >(state_);
-}
-inline void CtrlReqRadioState::set_state(ril_proto::RadioState value) {
-  GOOGLE_DCHECK(ril_proto::RadioState_IsValid(value));
-  _set_bit(0);
-  state_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// CtrlRspRadioState
-
-// required .ril_proto.RadioState state = 1;
-inline bool CtrlRspRadioState::has_state() const {
-  return _has_bit(0);
-}
-inline void CtrlRspRadioState::clear_state() {
-  state_ = 0;
-  _clear_bit(0);
-}
-inline ril_proto::RadioState CtrlRspRadioState::state() const {
-  return static_cast< ril_proto::RadioState >(state_);
-}
-inline void CtrlRspRadioState::set_state(ril_proto::RadioState value) {
-  GOOGLE_DCHECK(ril_proto::RadioState_IsValid(value));
-  _set_bit(0);
-  state_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// CtrlReqSetMTCall
-
-// required string phone_number = 1;
-inline bool CtrlReqSetMTCall::has_phone_number() const {
-  return _has_bit(0);
-}
-inline void CtrlReqSetMTCall::clear_phone_number() {
-  if (phone_number_ != &_default_phone_number_) {
-    phone_number_->clear();
-  }
-  _clear_bit(0);
-}
-inline const ::std::string& CtrlReqSetMTCall::phone_number() const {
-  return *phone_number_;
-}
-inline void CtrlReqSetMTCall::set_phone_number(const ::std::string& value) {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  phone_number_->assign(value);
-}
-inline void CtrlReqSetMTCall::set_phone_number(const char* value) {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  phone_number_->assign(value);
-}
-inline void CtrlReqSetMTCall::set_phone_number(const char* value, size_t size) {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  phone_number_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* CtrlReqSetMTCall::mutable_phone_number() {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  return phone_number_;
-}
-
-// -------------------------------------------------------------------
-
-// CtrlHangupConnRemote
-
-// required int32 connection_id = 1;
-inline bool CtrlHangupConnRemote::has_connection_id() const {
-  return _has_bit(0);
-}
-inline void CtrlHangupConnRemote::clear_connection_id() {
-  connection_id_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 CtrlHangupConnRemote::connection_id() const {
-  return connection_id_;
-}
-inline void CtrlHangupConnRemote::set_connection_id(::google::protobuf::int32 value) {
-  _set_bit(0);
-  connection_id_ = value;
-}
-
-// required int32 call_fail_cause = 2;
-inline bool CtrlHangupConnRemote::has_call_fail_cause() const {
-  return _has_bit(1);
-}
-inline void CtrlHangupConnRemote::clear_call_fail_cause() {
-  call_fail_cause_ = 0;
-  _clear_bit(1);
-}
-inline ::google::protobuf::int32 CtrlHangupConnRemote::call_fail_cause() const {
-  return call_fail_cause_;
-}
-inline void CtrlHangupConnRemote::set_call_fail_cause(::google::protobuf::int32 value) {
-  _set_bit(1);
-  call_fail_cause_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// CtrlSetCallTransitionFlag
-
-// required bool flag = 1;
-inline bool CtrlSetCallTransitionFlag::has_flag() const {
-  return _has_bit(0);
-}
-inline void CtrlSetCallTransitionFlag::clear_flag() {
-  flag_ = false;
-  _clear_bit(0);
-}
-inline bool CtrlSetCallTransitionFlag::flag() const {
-  return flag_;
-}
-inline void CtrlSetCallTransitionFlag::set_flag(bool value) {
-  _set_bit(0);
-  flag_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// CtrlReqAddDialingCall
-
-// required string phone_number = 1;
-inline bool CtrlReqAddDialingCall::has_phone_number() const {
-  return _has_bit(0);
-}
-inline void CtrlReqAddDialingCall::clear_phone_number() {
-  if (phone_number_ != &_default_phone_number_) {
-    phone_number_->clear();
-  }
-  _clear_bit(0);
-}
-inline const ::std::string& CtrlReqAddDialingCall::phone_number() const {
-  return *phone_number_;
-}
-inline void CtrlReqAddDialingCall::set_phone_number(const ::std::string& value) {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  phone_number_->assign(value);
-}
-inline void CtrlReqAddDialingCall::set_phone_number(const char* value) {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  phone_number_->assign(value);
-}
-inline void CtrlReqAddDialingCall::set_phone_number(const char* value, size_t size) {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  phone_number_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* CtrlReqAddDialingCall::mutable_phone_number() {
-  _set_bit(0);
-  if (phone_number_ == &_default_phone_number_) {
-    phone_number_ = new ::std::string;
-  }
-  return phone_number_;
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace ril_proto
-
-#ifndef SWIG
-namespace google {
-namespace protobuf {
-
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::CtrlCmd>() {
-  return ril_proto::CtrlCmd_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::CtrlStatus>() {
-  return ril_proto::CtrlStatus_descriptor();
-}
-
-}  // namespace google
-}  // namespace protobuf
-#endif  // SWIG
-
-// @@protoc_insertion_point(global_scope)
-
-#endif  // PROTOBUF_ctrl_2eproto__INCLUDED
diff --git a/mock-ril/src/generated/cpp/msgheader.pb.cpp b/mock-ril/src/generated/cpp/msgheader.pb.cpp
deleted file mode 100644
index b4bd1a5..0000000
--- a/mock-ril/src/generated/cpp/msgheader.pb.cpp
+++ /dev/null
@@ -1,429 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
-#include "msgheader.pb.h"
-#include <google/protobuf/stubs/once.h>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-
-namespace communication {
-
-namespace {
-
-const ::google::protobuf::Descriptor* MsgHeader_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  MsgHeader_reflection_ = NULL;
-
-}  // namespace
-
-
-void protobuf_AssignDesc_msgheader_2eproto() {
-  protobuf_AddDesc_msgheader_2eproto();
-  const ::google::protobuf::FileDescriptor* file =
-    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
-      "msgheader.proto");
-  GOOGLE_CHECK(file != NULL);
-  MsgHeader_descriptor_ = file->message_type(0);
-  static const int MsgHeader_offsets_[4] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MsgHeader, cmd_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MsgHeader, length_data_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MsgHeader, status_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MsgHeader, token_),
-  };
-  MsgHeader_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      MsgHeader_descriptor_,
-      MsgHeader::default_instance_,
-      MsgHeader_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MsgHeader, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MsgHeader, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(MsgHeader));
-}
-
-namespace {
-
-GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
-inline void protobuf_AssignDescriptorsOnce() {
-  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
-                 &protobuf_AssignDesc_msgheader_2eproto);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    MsgHeader_descriptor_, &MsgHeader::default_instance());
-}
-
-}  // namespace
-
-void protobuf_ShutdownFile_msgheader_2eproto() {
-  delete MsgHeader::default_instance_;
-  delete MsgHeader_reflection_;
-}
-
-void protobuf_AddDesc_msgheader_2eproto() {
-  static bool already_here = false;
-  if (already_here) return;
-  already_here = true;
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-    "\n\017msgheader.proto\022\rcommunication\"L\n\tMsgH"
-    "eader\022\013\n\003cmd\030\001 \002(\r\022\023\n\013length_data\030\002 \002(\r\022"
-    "\016\n\006status\030\003 \001(\r\022\r\n\005token\030\004 \001(\004B$\n\"com.an"
-    "droid.internal.communication", 148);
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
-    "msgheader.proto", &protobuf_RegisterTypes);
-  MsgHeader::default_instance_ = new MsgHeader();
-  MsgHeader::default_instance_->InitAsDefaultInstance();
-  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_msgheader_2eproto);
-}
-
-// Force AddDescriptors() to be called at static initialization time.
-struct StaticDescriptorInitializer_msgheader_2eproto {
-  StaticDescriptorInitializer_msgheader_2eproto() {
-    protobuf_AddDesc_msgheader_2eproto();
-  }
-} static_descriptor_initializer_msgheader_2eproto_;
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int MsgHeader::kCmdFieldNumber;
-const int MsgHeader::kLengthDataFieldNumber;
-const int MsgHeader::kStatusFieldNumber;
-const int MsgHeader::kTokenFieldNumber;
-#endif  // !_MSC_VER
-
-MsgHeader::MsgHeader()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void MsgHeader::InitAsDefaultInstance() {
-}
-
-MsgHeader::MsgHeader(const MsgHeader& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void MsgHeader::SharedCtor() {
-  _cached_size_ = 0;
-  cmd_ = 0u;
-  length_data_ = 0u;
-  status_ = 0u;
-  token_ = GOOGLE_ULONGLONG(0);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-MsgHeader::~MsgHeader() {
-  SharedDtor();
-}
-
-void MsgHeader::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void MsgHeader::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* MsgHeader::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return MsgHeader_descriptor_;
-}
-
-const MsgHeader& MsgHeader::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_msgheader_2eproto();  return *default_instance_;
-}
-
-MsgHeader* MsgHeader::default_instance_ = NULL;
-
-MsgHeader* MsgHeader::New() const {
-  return new MsgHeader;
-}
-
-void MsgHeader::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    cmd_ = 0u;
-    length_data_ = 0u;
-    status_ = 0u;
-    token_ = GOOGLE_ULONGLONG(0);
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool MsgHeader::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required uint32 cmd = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &cmd_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_length_data;
-        break;
-      }
-      
-      // required uint32 length_data = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_length_data:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &length_data_)));
-          _set_bit(1);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(24)) goto parse_status;
-        break;
-      }
-      
-      // optional uint32 status = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_status:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &status_)));
-          _set_bit(2);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(32)) goto parse_token;
-        break;
-      }
-      
-      // optional uint64 token = 4;
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_token:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
-                 input, &token_)));
-          _set_bit(3);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void MsgHeader::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required uint32 cmd = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->cmd(), output);
-  }
-  
-  // required uint32 length_data = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->length_data(), output);
-  }
-  
-  // optional uint32 status = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->status(), output);
-  }
-  
-  // optional uint64 token = 4;
-  if (_has_bit(3)) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt64(4, this->token(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* MsgHeader::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required uint32 cmd = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->cmd(), target);
-  }
-  
-  // required uint32 length_data = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->length_data(), target);
-  }
-  
-  // optional uint32 status = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->status(), target);
-  }
-  
-  // optional uint64 token = 4;
-  if (_has_bit(3)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(4, this->token(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int MsgHeader::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required uint32 cmd = 1;
-    if (has_cmd()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->cmd());
-    }
-    
-    // required uint32 length_data = 2;
-    if (has_length_data()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->length_data());
-    }
-    
-    // optional uint32 status = 3;
-    if (has_status()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->status());
-    }
-    
-    // optional uint64 token = 4;
-    if (has_token()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt64Size(
-          this->token());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void MsgHeader::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const MsgHeader* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const MsgHeader*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void MsgHeader::MergeFrom(const MsgHeader& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_cmd(from.cmd());
-    }
-    if (from._has_bit(1)) {
-      set_length_data(from.length_data());
-    }
-    if (from._has_bit(2)) {
-      set_status(from.status());
-    }
-    if (from._has_bit(3)) {
-      set_token(from.token());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void MsgHeader::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void MsgHeader::CopyFrom(const MsgHeader& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool MsgHeader::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
-  
-  return true;
-}
-
-void MsgHeader::Swap(MsgHeader* other) {
-  if (other != this) {
-    std::swap(cmd_, other->cmd_);
-    std::swap(length_data_, other->length_data_);
-    std::swap(status_, other->status_);
-    std::swap(token_, other->token_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata MsgHeader::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = MsgHeader_descriptor_;
-  metadata.reflection = MsgHeader_reflection_;
-  return metadata;
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace communication
-
-// @@protoc_insertion_point(global_scope)
diff --git a/mock-ril/src/generated/cpp/msgheader.pb.h b/mock-ril/src/generated/cpp/msgheader.pb.h
deleted file mode 100644
index a98bf3e..0000000
--- a/mock-ril/src/generated/cpp/msgheader.pb.h
+++ /dev/null
@@ -1,237 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: msgheader.proto
-
-#ifndef PROTOBUF_msgheader_2eproto__INCLUDED
-#define PROTOBUF_msgheader_2eproto__INCLUDED
-
-#include <string>
-
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 2003000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
-#error your headers.
-#endif
-#if 2003000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/repeated_field.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/generated_message_reflection.h>
-// @@protoc_insertion_point(includes)
-
-namespace communication {
-
-// Internal implementation detail -- do not call these.
-void  protobuf_AddDesc_msgheader_2eproto();
-void protobuf_AssignDesc_msgheader_2eproto();
-void protobuf_ShutdownFile_msgheader_2eproto();
-
-class MsgHeader;
-
-// ===================================================================
-
-class MsgHeader : public ::google::protobuf::Message {
- public:
-  MsgHeader();
-  virtual ~MsgHeader();
-  
-  MsgHeader(const MsgHeader& from);
-  
-  inline MsgHeader& operator=(const MsgHeader& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const MsgHeader& default_instance();
-  
-  void Swap(MsgHeader* other);
-  
-  // implements Message ----------------------------------------------
-  
-  MsgHeader* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const MsgHeader& from);
-  void MergeFrom(const MsgHeader& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required uint32 cmd = 1;
-  inline bool has_cmd() const;
-  inline void clear_cmd();
-  static const int kCmdFieldNumber = 1;
-  inline ::google::protobuf::uint32 cmd() const;
-  inline void set_cmd(::google::protobuf::uint32 value);
-  
-  // required uint32 length_data = 2;
-  inline bool has_length_data() const;
-  inline void clear_length_data();
-  static const int kLengthDataFieldNumber = 2;
-  inline ::google::protobuf::uint32 length_data() const;
-  inline void set_length_data(::google::protobuf::uint32 value);
-  
-  // optional uint32 status = 3;
-  inline bool has_status() const;
-  inline void clear_status();
-  static const int kStatusFieldNumber = 3;
-  inline ::google::protobuf::uint32 status() const;
-  inline void set_status(::google::protobuf::uint32 value);
-  
-  // optional uint64 token = 4;
-  inline bool has_token() const;
-  inline void clear_token();
-  static const int kTokenFieldNumber = 4;
-  inline ::google::protobuf::uint64 token() const;
-  inline void set_token(::google::protobuf::uint64 value);
-  
-  // @@protoc_insertion_point(class_scope:communication.MsgHeader)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::uint32 cmd_;
-  ::google::protobuf::uint32 length_data_;
-  ::google::protobuf::uint32 status_;
-  ::google::protobuf::uint64 token_;
-  friend void  protobuf_AddDesc_msgheader_2eproto();
-  friend void protobuf_AssignDesc_msgheader_2eproto();
-  friend void protobuf_ShutdownFile_msgheader_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static MsgHeader* default_instance_;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-// MsgHeader
-
-// required uint32 cmd = 1;
-inline bool MsgHeader::has_cmd() const {
-  return _has_bit(0);
-}
-inline void MsgHeader::clear_cmd() {
-  cmd_ = 0u;
-  _clear_bit(0);
-}
-inline ::google::protobuf::uint32 MsgHeader::cmd() const {
-  return cmd_;
-}
-inline void MsgHeader::set_cmd(::google::protobuf::uint32 value) {
-  _set_bit(0);
-  cmd_ = value;
-}
-
-// required uint32 length_data = 2;
-inline bool MsgHeader::has_length_data() const {
-  return _has_bit(1);
-}
-inline void MsgHeader::clear_length_data() {
-  length_data_ = 0u;
-  _clear_bit(1);
-}
-inline ::google::protobuf::uint32 MsgHeader::length_data() const {
-  return length_data_;
-}
-inline void MsgHeader::set_length_data(::google::protobuf::uint32 value) {
-  _set_bit(1);
-  length_data_ = value;
-}
-
-// optional uint32 status = 3;
-inline bool MsgHeader::has_status() const {
-  return _has_bit(2);
-}
-inline void MsgHeader::clear_status() {
-  status_ = 0u;
-  _clear_bit(2);
-}
-inline ::google::protobuf::uint32 MsgHeader::status() const {
-  return status_;
-}
-inline void MsgHeader::set_status(::google::protobuf::uint32 value) {
-  _set_bit(2);
-  status_ = value;
-}
-
-// optional uint64 token = 4;
-inline bool MsgHeader::has_token() const {
-  return _has_bit(3);
-}
-inline void MsgHeader::clear_token() {
-  token_ = GOOGLE_ULONGLONG(0);
-  _clear_bit(3);
-}
-inline ::google::protobuf::uint64 MsgHeader::token() const {
-  return token_;
-}
-inline void MsgHeader::set_token(::google::protobuf::uint64 value) {
-  _set_bit(3);
-  token_ = value;
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace communication
-
-#ifndef SWIG
-namespace google {
-namespace protobuf {
-
-
-}  // namespace google
-}  // namespace protobuf
-#endif  // SWIG
-
-// @@protoc_insertion_point(global_scope)
-
-#endif  // PROTOBUF_msgheader_2eproto__INCLUDED
diff --git a/mock-ril/src/generated/cpp/ril.pb.cpp b/mock-ril/src/generated/cpp/ril.pb.cpp
deleted file mode 100644
index 858ebfe..0000000
--- a/mock-ril/src/generated/cpp/ril.pb.cpp
+++ /dev/null
@@ -1,7017 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
-#include "ril.pb.h"
-#include <google/protobuf/stubs/once.h>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-
-namespace ril_proto {
-
-namespace {
-
-const ::google::protobuf::Descriptor* RilAppStatus_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RilAppStatus_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RilCardStatus_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RilCardStatus_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RilUusInfo_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RilUusInfo_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RilCall_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RilCall_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RILGWSignalStrength_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RILGWSignalStrength_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RILCDMASignalStrength_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RILCDMASignalStrength_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RILEVDOSignalStrength_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RILEVDOSignalStrength_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspStrings_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspStrings_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspIntegers_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspIntegers_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspGetSimStatus_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspGetSimStatus_reflection_ = NULL;
-const ::google::protobuf::Descriptor* ReqEnterSimPin_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  ReqEnterSimPin_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspEnterSimPin_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspEnterSimPin_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspGetCurrentCalls_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspGetCurrentCalls_reflection_ = NULL;
-const ::google::protobuf::Descriptor* ReqDial_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  ReqDial_reflection_ = NULL;
-const ::google::protobuf::Descriptor* ReqHangUp_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  ReqHangUp_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspLastCallFailCause_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspLastCallFailCause_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspSignalStrength_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspSignalStrength_reflection_ = NULL;
-const ::google::protobuf::Descriptor* RspOperator_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  RspOperator_reflection_ = NULL;
-const ::google::protobuf::Descriptor* ReqSeparateConnection_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  ReqSeparateConnection_reflection_ = NULL;
-const ::google::protobuf::Descriptor* ReqSetMute_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  ReqSetMute_reflection_ = NULL;
-const ::google::protobuf::Descriptor* ReqScreenState_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  ReqScreenState_reflection_ = NULL;
-const ::google::protobuf::EnumDescriptor* RadioState_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilCardState_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilPersoSubstate_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilAppState_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilPinState_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilAppType_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilUusType_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilUusDcs_descriptor_ = NULL;
-const ::google::protobuf::EnumDescriptor* RilCallState_descriptor_ = NULL;
-
-}  // namespace
-
-
-void protobuf_AssignDesc_ril_2eproto() {
-  protobuf_AddDesc_ril_2eproto();
-  const ::google::protobuf::FileDescriptor* file =
-    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
-      "ril.proto");
-  GOOGLE_CHECK(file != NULL);
-  RilAppStatus_descriptor_ = file->message_type(0);
-  static const int RilAppStatus_offsets_[8] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, app_type_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, app_state_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, perso_substate_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, aid_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, app_label_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, pin1_replaced_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, pin1_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, pin2_),
-  };
-  RilAppStatus_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RilAppStatus_descriptor_,
-      RilAppStatus::default_instance_,
-      RilAppStatus_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilAppStatus, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RilAppStatus));
-  RilCardStatus_descriptor_ = file->message_type(1);
-  static const int RilCardStatus_offsets_[6] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, card_state_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, universal_pin_state_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, gsm_umts_subscription_app_index_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, cdma_subscription_app_index_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, num_applications_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, applications_),
-  };
-  RilCardStatus_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RilCardStatus_descriptor_,
-      RilCardStatus::default_instance_,
-      RilCardStatus_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCardStatus, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RilCardStatus));
-  RilUusInfo_descriptor_ = file->message_type(2);
-  static const int RilUusInfo_offsets_[4] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_type_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_dcs_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_length_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, uus_data_),
-  };
-  RilUusInfo_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RilUusInfo_descriptor_,
-      RilUusInfo::default_instance_,
-      RilUusInfo_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilUusInfo, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RilUusInfo));
-  RilCall_descriptor_ = file->message_type(3);
-  static const int RilCall_offsets_[13] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, state_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, index_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, toa_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_mpty_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_mt_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, als_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_voice_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, is_voice_privacy_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, number_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, number_presentation_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, name_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, name_presentation_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, uus_info_),
-  };
-  RilCall_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RilCall_descriptor_,
-      RilCall::default_instance_,
-      RilCall_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RilCall, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RilCall));
-  RILGWSignalStrength_descriptor_ = file->message_type(4);
-  static const int RILGWSignalStrength_offsets_[2] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, signal_strength_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, bit_error_rate_),
-  };
-  RILGWSignalStrength_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RILGWSignalStrength_descriptor_,
-      RILGWSignalStrength::default_instance_,
-      RILGWSignalStrength_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILGWSignalStrength, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RILGWSignalStrength));
-  RILCDMASignalStrength_descriptor_ = file->message_type(5);
-  static const int RILCDMASignalStrength_offsets_[2] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, dbm_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, ecio_),
-  };
-  RILCDMASignalStrength_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RILCDMASignalStrength_descriptor_,
-      RILCDMASignalStrength::default_instance_,
-      RILCDMASignalStrength_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILCDMASignalStrength, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RILCDMASignalStrength));
-  RILEVDOSignalStrength_descriptor_ = file->message_type(6);
-  static const int RILEVDOSignalStrength_offsets_[3] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, dbm_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, ecio_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, signal_noise_ratio_),
-  };
-  RILEVDOSignalStrength_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RILEVDOSignalStrength_descriptor_,
-      RILEVDOSignalStrength::default_instance_,
-      RILEVDOSignalStrength_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RILEVDOSignalStrength, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RILEVDOSignalStrength));
-  RspStrings_descriptor_ = file->message_type(7);
-  static const int RspStrings_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspStrings, strings_),
-  };
-  RspStrings_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspStrings_descriptor_,
-      RspStrings::default_instance_,
-      RspStrings_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspStrings, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspStrings, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspStrings));
-  RspIntegers_descriptor_ = file->message_type(8);
-  static const int RspIntegers_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspIntegers, integers_),
-  };
-  RspIntegers_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspIntegers_descriptor_,
-      RspIntegers::default_instance_,
-      RspIntegers_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspIntegers, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspIntegers, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspIntegers));
-  RspGetSimStatus_descriptor_ = file->message_type(9);
-  static const int RspGetSimStatus_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetSimStatus, card_status_),
-  };
-  RspGetSimStatus_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspGetSimStatus_descriptor_,
-      RspGetSimStatus::default_instance_,
-      RspGetSimStatus_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetSimStatus, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetSimStatus, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspGetSimStatus));
-  ReqEnterSimPin_descriptor_ = file->message_type(10);
-  static const int ReqEnterSimPin_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqEnterSimPin, pin_),
-  };
-  ReqEnterSimPin_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      ReqEnterSimPin_descriptor_,
-      ReqEnterSimPin::default_instance_,
-      ReqEnterSimPin_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqEnterSimPin, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqEnterSimPin, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(ReqEnterSimPin));
-  RspEnterSimPin_descriptor_ = file->message_type(11);
-  static const int RspEnterSimPin_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspEnterSimPin, retries_remaining_),
-  };
-  RspEnterSimPin_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspEnterSimPin_descriptor_,
-      RspEnterSimPin::default_instance_,
-      RspEnterSimPin_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspEnterSimPin, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspEnterSimPin, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspEnterSimPin));
-  RspGetCurrentCalls_descriptor_ = file->message_type(12);
-  static const int RspGetCurrentCalls_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetCurrentCalls, calls_),
-  };
-  RspGetCurrentCalls_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspGetCurrentCalls_descriptor_,
-      RspGetCurrentCalls::default_instance_,
-      RspGetCurrentCalls_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetCurrentCalls, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspGetCurrentCalls, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspGetCurrentCalls));
-  ReqDial_descriptor_ = file->message_type(13);
-  static const int ReqDial_offsets_[3] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, address_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, clir_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, uus_info_),
-  };
-  ReqDial_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      ReqDial_descriptor_,
-      ReqDial::default_instance_,
-      ReqDial_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqDial, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(ReqDial));
-  ReqHangUp_descriptor_ = file->message_type(14);
-  static const int ReqHangUp_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqHangUp, connection_index_),
-  };
-  ReqHangUp_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      ReqHangUp_descriptor_,
-      ReqHangUp::default_instance_,
-      ReqHangUp_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqHangUp, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqHangUp, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(ReqHangUp));
-  RspLastCallFailCause_descriptor_ = file->message_type(15);
-  static const int RspLastCallFailCause_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspLastCallFailCause, last_call_fail_cause_),
-  };
-  RspLastCallFailCause_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspLastCallFailCause_descriptor_,
-      RspLastCallFailCause::default_instance_,
-      RspLastCallFailCause_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspLastCallFailCause, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspLastCallFailCause, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspLastCallFailCause));
-  RspSignalStrength_descriptor_ = file->message_type(16);
-  static const int RspSignalStrength_offsets_[3] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, gw_signalstrength_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, cdma_signalstrength_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, evdo_signalstrength_),
-  };
-  RspSignalStrength_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspSignalStrength_descriptor_,
-      RspSignalStrength::default_instance_,
-      RspSignalStrength_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspSignalStrength, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspSignalStrength));
-  RspOperator_descriptor_ = file->message_type(17);
-  static const int RspOperator_offsets_[3] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, long_alpha_ons_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, short_alpha_ons_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, mcc_mnc_),
-  };
-  RspOperator_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      RspOperator_descriptor_,
-      RspOperator::default_instance_,
-      RspOperator_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RspOperator, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(RspOperator));
-  ReqSeparateConnection_descriptor_ = file->message_type(18);
-  static const int ReqSeparateConnection_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSeparateConnection, index_),
-  };
-  ReqSeparateConnection_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      ReqSeparateConnection_descriptor_,
-      ReqSeparateConnection::default_instance_,
-      ReqSeparateConnection_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSeparateConnection, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSeparateConnection, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(ReqSeparateConnection));
-  ReqSetMute_descriptor_ = file->message_type(19);
-  static const int ReqSetMute_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSetMute, state_),
-  };
-  ReqSetMute_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      ReqSetMute_descriptor_,
-      ReqSetMute::default_instance_,
-      ReqSetMute_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSetMute, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqSetMute, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(ReqSetMute));
-  ReqScreenState_descriptor_ = file->message_type(20);
-  static const int ReqScreenState_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqScreenState, state_),
-  };
-  ReqScreenState_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      ReqScreenState_descriptor_,
-      ReqScreenState::default_instance_,
-      ReqScreenState_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqScreenState, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReqScreenState, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(ReqScreenState));
-  RadioState_descriptor_ = file->enum_type(0);
-  RilCardState_descriptor_ = file->enum_type(1);
-  RilPersoSubstate_descriptor_ = file->enum_type(2);
-  RilAppState_descriptor_ = file->enum_type(3);
-  RilPinState_descriptor_ = file->enum_type(4);
-  RilAppType_descriptor_ = file->enum_type(5);
-  RilUusType_descriptor_ = file->enum_type(6);
-  RilUusDcs_descriptor_ = file->enum_type(7);
-  RilCallState_descriptor_ = file->enum_type(8);
-}
-
-namespace {
-
-GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
-inline void protobuf_AssignDescriptorsOnce() {
-  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
-                 &protobuf_AssignDesc_ril_2eproto);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RilAppStatus_descriptor_, &RilAppStatus::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RilCardStatus_descriptor_, &RilCardStatus::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RilUusInfo_descriptor_, &RilUusInfo::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RilCall_descriptor_, &RilCall::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RILGWSignalStrength_descriptor_, &RILGWSignalStrength::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RILCDMASignalStrength_descriptor_, &RILCDMASignalStrength::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RILEVDOSignalStrength_descriptor_, &RILEVDOSignalStrength::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspStrings_descriptor_, &RspStrings::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspIntegers_descriptor_, &RspIntegers::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspGetSimStatus_descriptor_, &RspGetSimStatus::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    ReqEnterSimPin_descriptor_, &ReqEnterSimPin::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspEnterSimPin_descriptor_, &RspEnterSimPin::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspGetCurrentCalls_descriptor_, &RspGetCurrentCalls::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    ReqDial_descriptor_, &ReqDial::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    ReqHangUp_descriptor_, &ReqHangUp::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspLastCallFailCause_descriptor_, &RspLastCallFailCause::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspSignalStrength_descriptor_, &RspSignalStrength::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    RspOperator_descriptor_, &RspOperator::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    ReqSeparateConnection_descriptor_, &ReqSeparateConnection::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    ReqSetMute_descriptor_, &ReqSetMute::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    ReqScreenState_descriptor_, &ReqScreenState::default_instance());
-}
-
-}  // namespace
-
-void protobuf_ShutdownFile_ril_2eproto() {
-  delete RilAppStatus::default_instance_;
-  delete RilAppStatus_reflection_;
-  delete RilCardStatus::default_instance_;
-  delete RilCardStatus_reflection_;
-  delete RilUusInfo::default_instance_;
-  delete RilUusInfo_reflection_;
-  delete RilCall::default_instance_;
-  delete RilCall_reflection_;
-  delete RILGWSignalStrength::default_instance_;
-  delete RILGWSignalStrength_reflection_;
-  delete RILCDMASignalStrength::default_instance_;
-  delete RILCDMASignalStrength_reflection_;
-  delete RILEVDOSignalStrength::default_instance_;
-  delete RILEVDOSignalStrength_reflection_;
-  delete RspStrings::default_instance_;
-  delete RspStrings_reflection_;
-  delete RspIntegers::default_instance_;
-  delete RspIntegers_reflection_;
-  delete RspGetSimStatus::default_instance_;
-  delete RspGetSimStatus_reflection_;
-  delete ReqEnterSimPin::default_instance_;
-  delete ReqEnterSimPin_reflection_;
-  delete RspEnterSimPin::default_instance_;
-  delete RspEnterSimPin_reflection_;
-  delete RspGetCurrentCalls::default_instance_;
-  delete RspGetCurrentCalls_reflection_;
-  delete ReqDial::default_instance_;
-  delete ReqDial_reflection_;
-  delete ReqHangUp::default_instance_;
-  delete ReqHangUp_reflection_;
-  delete RspLastCallFailCause::default_instance_;
-  delete RspLastCallFailCause_reflection_;
-  delete RspSignalStrength::default_instance_;
-  delete RspSignalStrength_reflection_;
-  delete RspOperator::default_instance_;
-  delete RspOperator_reflection_;
-  delete ReqSeparateConnection::default_instance_;
-  delete ReqSeparateConnection_reflection_;
-  delete ReqSetMute::default_instance_;
-  delete ReqSetMute_reflection_;
-  delete ReqScreenState::default_instance_;
-  delete ReqScreenState_reflection_;
-}
-
-void protobuf_AddDesc_ril_2eproto() {
-  static bool already_here = false;
-  if (already_here) return;
-  already_here = true;
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-    "\n\tril.proto\022\tril_proto\"\232\002\n\014RilAppStatus\022"
-    "\'\n\010app_type\030\001 \001(\0162\025.ril_proto.RilAppType"
-    "\022)\n\tapp_state\030\002 \001(\0162\026.ril_proto.RilAppSt"
-    "ate\0223\n\016perso_substate\030\003 \001(\0162\033.ril_proto."
-    "RilPersoSubstate\022\013\n\003aid\030\004 \001(\t\022\021\n\tapp_lab"
-    "el\030\005 \001(\t\022\025\n\rpin1_replaced\030\006 \001(\005\022$\n\004pin1\030"
-    "\007 \001(\0162\026.ril_proto.RilPinState\022$\n\004pin2\030\010 "
-    "\001(\0162\026.ril_proto.RilPinState\"\210\002\n\rRilCardS"
-    "tatus\022+\n\ncard_state\030\001 \001(\0162\027.ril_proto.Ri"
-    "lCardState\0223\n\023universal_pin_state\030\002 \001(\0162"
-    "\026.ril_proto.RilPinState\022\'\n\037gsm_umts_subs"
-    "cription_app_index\030\003 \001(\005\022#\n\033cdma_subscri"
-    "ption_app_index\030\004 \001(\005\022\030\n\020num_application"
-    "s\030\005 \001(\005\022-\n\014applications\030\006 \003(\0132\027.ril_prot"
-    "o.RilAppStatus\"\202\001\n\nRilUusInfo\022\'\n\010uus_typ"
-    "e\030\001 \001(\0162\025.ril_proto.RilUusType\022%\n\007uus_dc"
-    "s\030\002 \001(\0162\024.ril_proto.RilUusDcs\022\022\n\nuus_len"
-    "gth\030\003 \001(\005\022\020\n\010uus_data\030\004 \001(\t\"\245\002\n\007RilCall\022"
-    "&\n\005state\030\001 \001(\0162\027.ril_proto.RilCallState\022"
-    "\r\n\005index\030\002 \001(\005\022\013\n\003toa\030\003 \001(\005\022\017\n\007is_mpty\030\004"
-    " \001(\010\022\r\n\005is_mt\030\005 \001(\010\022\013\n\003als\030\006 \001(\005\022\020\n\010is_v"
-    "oice\030\007 \001(\010\022\030\n\020is_voice_privacy\030\010 \001(\010\022\016\n\006"
-    "number\030\t \001(\t\022\033\n\023number_presentation\030\n \001("
-    "\005\022\014\n\004name\030\013 \001(\t\022\031\n\021name_presentation\030\014 \001"
-    "(\005\022\'\n\010uus_info\030\r \001(\0132\025.ril_proto.RilUusI"
-    "nfo\"F\n\023RILGWSignalStrength\022\027\n\017signal_str"
-    "ength\030\001 \001(\005\022\026\n\016bit_error_rate\030\002 \001(\005\"2\n\025R"
-    "ILCDMASignalStrength\022\013\n\003dbm\030\001 \001(\005\022\014\n\004eci"
-    "o\030\002 \001(\005\"N\n\025RILEVDOSignalStrength\022\013\n\003dbm\030"
-    "\001 \001(\005\022\014\n\004ecio\030\002 \001(\005\022\032\n\022signal_noise_rati"
-    "o\030\003 \001(\005\"\035\n\nRspStrings\022\017\n\007strings\030\001 \003(\t\"\037"
-    "\n\013RspIntegers\022\020\n\010integers\030\001 \003(\005\"@\n\017RspGe"
-    "tSimStatus\022-\n\013card_status\030\001 \002(\0132\030.ril_pr"
-    "oto.RilCardStatus\"\035\n\016ReqEnterSimPin\022\013\n\003p"
-    "in\030\001 \002(\t\"+\n\016RspEnterSimPin\022\031\n\021retries_re"
-    "maining\030\001 \002(\005\"7\n\022RspGetCurrentCalls\022!\n\005c"
-    "alls\030\001 \003(\0132\022.ril_proto.RilCall\"Q\n\007ReqDia"
-    "l\022\017\n\007address\030\001 \001(\t\022\014\n\004clir\030\002 \001(\005\022\'\n\010uus_"
-    "info\030\003 \001(\0132\025.ril_proto.RilUusInfo\"%\n\tReq"
-    "HangUp\022\030\n\020connection_index\030\001 \002(\005\"4\n\024RspL"
-    "astCallFailCause\022\034\n\024last_call_fail_cause"
-    "\030\001 \002(\005\"\314\001\n\021RspSignalStrength\0229\n\021gw_signa"
-    "lstrength\030\001 \001(\0132\036.ril_proto.RILGWSignalS"
-    "trength\022=\n\023cdma_signalstrength\030\002 \001(\0132 .r"
-    "il_proto.RILCDMASignalStrength\022=\n\023evdo_s"
-    "ignalstrength\030\003 \001(\0132 .ril_proto.RILEVDOS"
-    "ignalStrength\"O\n\013RspOperator\022\026\n\016long_alp"
-    "ha_ons\030\001 \001(\t\022\027\n\017short_alpha_ons\030\002 \001(\t\022\017\n"
-    "\007mcc_mnc\030\003 \001(\t\"&\n\025ReqSeparateConnection\022"
-    "\r\n\005index\030\001 \002(\005\"\033\n\nReqSetMute\022\r\n\005state\030\001 "
-    "\002(\010\"\037\n\016ReqScreenState\022\r\n\005state\030\001 \002(\010*\257\002\n"
-    "\nRadioState\022\022\n\016RADIOSTATE_OFF\020\000\022\032\n\026RADIO"
-    "STATE_UNAVAILABLE\020\001\022\034\n\030RADIOSTATE_SIM_NO"
-    "T_READY\020\002\022#\n\037RADIOSTATE_SIM_LOCKED_OR_AB"
-    "SENT\020\003\022\030\n\024RADIOSTATE_SIM_READY\020\004\022\035\n\031RADI"
-    "OSTATE_RUIM_NOT_READY\020\005\022\031\n\025RADIOSTATE_RU"
-    "IM_READY\020\006\022$\n RADIOSTATE_RUIM_LOCKED_OR_"
-    "ABSENT\020\007\022\033\n\027RADIOSTATE_NV_NOT_READY\020\010\022\027\n"
-    "\023RADIOSTATE_NV_READY\020\t*P\n\014RilCardState\022\024"
-    "\n\020CARDSTATE_ABSENT\020\000\022\025\n\021CARDSTATE_PRESEN"
-    "T\020\001\022\023\n\017CARDSTATE_ERROR\020\002*\361\006\n\020RilPersoSub"
-    "state\022\031\n\025PERSOSUBSTATE_UNKNOWN\020\000\022\035\n\031PERS"
-    "OSUBSTATE_IN_PROGRESS\020\001\022\027\n\023PERSOSUBSTATE"
-    "_READY\020\002\022\035\n\031PERSOSUBSTATE_SIM_NETWORK\020\003\022"
-    "$\n PERSOSUBSTATE_SIM_NETWORK_SUBSET\020\004\022\037\n"
-    "\033PERSOSUBSTATE_SIM_CORPORATE\020\005\022&\n\"PERSOS"
-    "UBSTATE_SIM_SERVICE_PROVIDER\020\006\022\031\n\025PERSOS"
-    "UBSTATE_SIM_SIM\020\007\022!\n\035PERSOSUBSTATE_SIM_N"
-    "ETWORK_PUK\020\010\022(\n$PERSOSUBSTATE_SIM_NETWOR"
-    "K_SUBSET_PUK\020\t\022#\n\037PERSOSUBSTATE_SIM_CORP"
-    "ORATE_PUK\020\n\022*\n&PERSOSUBSTATE_SIM_SERVICE"
-    "_PROVIDER_PUK\020\013\022\035\n\031PERSOSUBSTATE_SIM_SIM"
-    "_PUK\020\014\022\037\n\033PERSOSUBSTATE_RUIM_NETWORK1\020\r\022"
-    "\037\n\033PERSOSUBSTATE_RUIM_NETWORK2\020\016\022\033\n\027PERS"
-    "OSUBSTATE_RUIM_HRPD\020\017\022 \n\034PERSOSUBSTATE_R"
-    "UIM_CORPORATE\020\020\022\'\n#PERSOSUBSTATE_RUIM_SE"
-    "RVICE_PROVIDER\020\021\022\033\n\027PERSOSUBSTATE_RUIM_R"
-    "UIM\020\022\022#\n\037PERSOSUBSTATE_RUIM_NETWORK1_PUK"
-    "\020\023\022#\n\037PERSOSUBSTATE_RUIM_NETWORK2_PUK\020\024\022"
-    "\037\n\033PERSOSUBSTATE_RUIM_HRPD_PUK\020\025\022$\n PERS"
-    "OSUBSTATE_RUIM_CORPORATE_PUK\020\026\022+\n\'PERSOS"
-    "UBSTATE_RUIM_SERVICE_PROVIDER_PUK\020\027\022\037\n\033P"
-    "ERSOSUBSTATE_RUIM_RUIM_PUK\020\030*\223\001\n\013RilAppS"
-    "tate\022\024\n\020APPSTATE_UNKNOWN\020\000\022\025\n\021APPSTATE_D"
-    "ETECTED\020\001\022\020\n\014APPSTATE_PIN\020\002\022\020\n\014APPSTATE_"
-    "PUK\020\003\022\037\n\033APPSTATE_SUBSCRIPTION_PERSO\020\004\022\022"
-    "\n\016APPSTATE_READY\020\005*\275\001\n\013RilPinState\022\024\n\020PI"
-    "NSTATE_UNKNOWN\020\000\022!\n\035PINSTATE_ENABLED_NOT"
-    "_VERIFIED\020\001\022\035\n\031PINSTATE_ENABLED_VERIFIED"
-    "\020\002\022\025\n\021PINSTATE_DISABLED\020\003\022\034\n\030PINSTATE_EN"
-    "ABLED_BLOCKED\020\004\022!\n\035PINSTATE_ENABLED_PERM"
-    "_BLOCKED\020\005*h\n\nRilAppType\022\023\n\017APPTYPE_UNKN"
-    "OWN\020\000\022\017\n\013APPTYPE_SIM\020\001\022\020\n\014APPTYPE_USIM\020\002"
-    "\022\020\n\014APPTYPE_RUIM\020\003\022\020\n\014APPTYPE_CSIM\020\004*\316\001\n"
-    "\nRilUusType\022\030\n\024RILUUSTYPE1_IMPLICIT\020\000\022\030\n"
-    "\024RILUUSTYPE1_REQUIRED\020\001\022\034\n\030RILUUSTYPE1_N"
-    "OT_REQUIRED\020\002\022\030\n\024RILUUSTYPE2_REQUIRED\020\003\022"
-    "\034\n\030RILUUSTYPE2_NOT_REQUIRED\020\004\022\030\n\024RILUUST"
-    "YPE3_REQUIRED\020\005\022\034\n\030RILUUSTYPE3_NOT_REQUI"
-    "RED\020\006*p\n\tRilUusDcs\022\021\n\rRILUUSDCS_USP\020\000\022\024\n"
-    "\020RILUUSDCS_OSIHLP\020\001\022\022\n\016RILUUSDCS_X244\020\002\022"
-    "\022\n\016RILUUSDCS_RMCF\020\003\022\022\n\016RILUUSDCS_IA5c\020\004*"
-    "\231\001\n\014RilCallState\022\024\n\020CALLSTATE_ACTIVE\020\000\022\025"
-    "\n\021CALLSTATE_HOLDING\020\001\022\025\n\021CALLSTATE_DIALI"
-    "NG\020\002\022\026\n\022CALLSTATE_ALERTING\020\003\022\026\n\022CALLSTAT"
-    "E_INCOMING\020\004\022\025\n\021CALLSTATE_WAITING\020\005B3\n(c"
-    "om.android.internal.telephony.ril_protoB"
-    "\007RilCmds", 4288);
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
-    "ril.proto", &protobuf_RegisterTypes);
-  RilAppStatus::default_instance_ = new RilAppStatus();
-  RilCardStatus::default_instance_ = new RilCardStatus();
-  RilUusInfo::default_instance_ = new RilUusInfo();
-  RilCall::default_instance_ = new RilCall();
-  RILGWSignalStrength::default_instance_ = new RILGWSignalStrength();
-  RILCDMASignalStrength::default_instance_ = new RILCDMASignalStrength();
-  RILEVDOSignalStrength::default_instance_ = new RILEVDOSignalStrength();
-  RspStrings::default_instance_ = new RspStrings();
-  RspIntegers::default_instance_ = new RspIntegers();
-  RspGetSimStatus::default_instance_ = new RspGetSimStatus();
-  ReqEnterSimPin::default_instance_ = new ReqEnterSimPin();
-  RspEnterSimPin::default_instance_ = new RspEnterSimPin();
-  RspGetCurrentCalls::default_instance_ = new RspGetCurrentCalls();
-  ReqDial::default_instance_ = new ReqDial();
-  ReqHangUp::default_instance_ = new ReqHangUp();
-  RspLastCallFailCause::default_instance_ = new RspLastCallFailCause();
-  RspSignalStrength::default_instance_ = new RspSignalStrength();
-  RspOperator::default_instance_ = new RspOperator();
-  ReqSeparateConnection::default_instance_ = new ReqSeparateConnection();
-  ReqSetMute::default_instance_ = new ReqSetMute();
-  ReqScreenState::default_instance_ = new ReqScreenState();
-  RilAppStatus::default_instance_->InitAsDefaultInstance();
-  RilCardStatus::default_instance_->InitAsDefaultInstance();
-  RilUusInfo::default_instance_->InitAsDefaultInstance();
-  RilCall::default_instance_->InitAsDefaultInstance();
-  RILGWSignalStrength::default_instance_->InitAsDefaultInstance();
-  RILCDMASignalStrength::default_instance_->InitAsDefaultInstance();
-  RILEVDOSignalStrength::default_instance_->InitAsDefaultInstance();
-  RspStrings::default_instance_->InitAsDefaultInstance();
-  RspIntegers::default_instance_->InitAsDefaultInstance();
-  RspGetSimStatus::default_instance_->InitAsDefaultInstance();
-  ReqEnterSimPin::default_instance_->InitAsDefaultInstance();
-  RspEnterSimPin::default_instance_->InitAsDefaultInstance();
-  RspGetCurrentCalls::default_instance_->InitAsDefaultInstance();
-  ReqDial::default_instance_->InitAsDefaultInstance();
-  ReqHangUp::default_instance_->InitAsDefaultInstance();
-  RspLastCallFailCause::default_instance_->InitAsDefaultInstance();
-  RspSignalStrength::default_instance_->InitAsDefaultInstance();
-  RspOperator::default_instance_->InitAsDefaultInstance();
-  ReqSeparateConnection::default_instance_->InitAsDefaultInstance();
-  ReqSetMute::default_instance_->InitAsDefaultInstance();
-  ReqScreenState::default_instance_->InitAsDefaultInstance();
-  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ril_2eproto);
-}
-
-// Force AddDescriptors() to be called at static initialization time.
-struct StaticDescriptorInitializer_ril_2eproto {
-  StaticDescriptorInitializer_ril_2eproto() {
-    protobuf_AddDesc_ril_2eproto();
-  }
-} static_descriptor_initializer_ril_2eproto_;
-
-const ::google::protobuf::EnumDescriptor* RadioState_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RadioState_descriptor_;
-}
-bool RadioState_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-    case 7:
-    case 8:
-    case 9:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilCardState_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilCardState_descriptor_;
-}
-bool RilCardState_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilPersoSubstate_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilPersoSubstate_descriptor_;
-}
-bool RilPersoSubstate_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-    case 7:
-    case 8:
-    case 9:
-    case 10:
-    case 11:
-    case 12:
-    case 13:
-    case 14:
-    case 15:
-    case 16:
-    case 17:
-    case 18:
-    case 19:
-    case 20:
-    case 21:
-    case 22:
-    case 23:
-    case 24:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilAppState_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilAppState_descriptor_;
-}
-bool RilAppState_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilPinState_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilPinState_descriptor_;
-}
-bool RilPinState_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilAppType_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilAppType_descriptor_;
-}
-bool RilAppType_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilUusType_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilUusType_descriptor_;
-}
-bool RilUusType_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilUusDcs_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilUusDcs_descriptor_;
-}
-bool RilUusDcs_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-      return true;
-    default:
-      return false;
-  }
-}
-
-const ::google::protobuf::EnumDescriptor* RilCallState_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilCallState_descriptor_;
-}
-bool RilCallState_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-      return true;
-    default:
-      return false;
-  }
-}
-
-
-// ===================================================================
-
-const ::std::string RilAppStatus::_default_aid_;
-const ::std::string RilAppStatus::_default_app_label_;
-#ifndef _MSC_VER
-const int RilAppStatus::kAppTypeFieldNumber;
-const int RilAppStatus::kAppStateFieldNumber;
-const int RilAppStatus::kPersoSubstateFieldNumber;
-const int RilAppStatus::kAidFieldNumber;
-const int RilAppStatus::kAppLabelFieldNumber;
-const int RilAppStatus::kPin1ReplacedFieldNumber;
-const int RilAppStatus::kPin1FieldNumber;
-const int RilAppStatus::kPin2FieldNumber;
-#endif  // !_MSC_VER
-
-RilAppStatus::RilAppStatus()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RilAppStatus::InitAsDefaultInstance() {
-}
-
-RilAppStatus::RilAppStatus(const RilAppStatus& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RilAppStatus::SharedCtor() {
-  _cached_size_ = 0;
-  app_type_ = 0;
-  app_state_ = 0;
-  perso_substate_ = 0;
-  aid_ = const_cast< ::std::string*>(&_default_aid_);
-  app_label_ = const_cast< ::std::string*>(&_default_app_label_);
-  pin1_replaced_ = 0;
-  pin1_ = 0;
-  pin2_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RilAppStatus::~RilAppStatus() {
-  SharedDtor();
-}
-
-void RilAppStatus::SharedDtor() {
-  if (aid_ != &_default_aid_) {
-    delete aid_;
-  }
-  if (app_label_ != &_default_app_label_) {
-    delete app_label_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void RilAppStatus::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RilAppStatus::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilAppStatus_descriptor_;
-}
-
-const RilAppStatus& RilAppStatus::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RilAppStatus* RilAppStatus::default_instance_ = NULL;
-
-RilAppStatus* RilAppStatus::New() const {
-  return new RilAppStatus;
-}
-
-void RilAppStatus::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    app_type_ = 0;
-    app_state_ = 0;
-    perso_substate_ = 0;
-    if (_has_bit(3)) {
-      if (aid_ != &_default_aid_) {
-        aid_->clear();
-      }
-    }
-    if (_has_bit(4)) {
-      if (app_label_ != &_default_app_label_) {
-        app_label_->clear();
-      }
-    }
-    pin1_replaced_ = 0;
-    pin1_ = 0;
-    pin2_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RilAppStatus::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional .ril_proto.RilAppType app_type = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilAppType_IsValid(value)) {
-            set_app_type(static_cast< ril_proto::RilAppType >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(1, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_app_state;
-        break;
-      }
-      
-      // optional .ril_proto.RilAppState app_state = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_app_state:
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilAppState_IsValid(value)) {
-            set_app_state(static_cast< ril_proto::RilAppState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(2, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(24)) goto parse_perso_substate;
-        break;
-      }
-      
-      // optional .ril_proto.RilPersoSubstate perso_substate = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_perso_substate:
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilPersoSubstate_IsValid(value)) {
-            set_perso_substate(static_cast< ril_proto::RilPersoSubstate >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(3, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(34)) goto parse_aid;
-        break;
-      }
-      
-      // optional string aid = 4;
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_aid:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_aid()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->aid().data(), this->aid().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(42)) goto parse_app_label;
-        break;
-      }
-      
-      // optional string app_label = 5;
-      case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_app_label:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_app_label()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->app_label().data(), this->app_label().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(48)) goto parse_pin1_replaced;
-        break;
-      }
-      
-      // optional int32 pin1_replaced = 6;
-      case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_pin1_replaced:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &pin1_replaced_)));
-          _set_bit(5);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(56)) goto parse_pin1;
-        break;
-      }
-      
-      // optional .ril_proto.RilPinState pin1 = 7;
-      case 7: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_pin1:
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilPinState_IsValid(value)) {
-            set_pin1(static_cast< ril_proto::RilPinState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(7, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(64)) goto parse_pin2;
-        break;
-      }
-      
-      // optional .ril_proto.RilPinState pin2 = 8;
-      case 8: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_pin2:
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilPinState_IsValid(value)) {
-            set_pin2(static_cast< ril_proto::RilPinState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(8, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RilAppStatus::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional .ril_proto.RilAppType app_type = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->app_type(), output);
-  }
-  
-  // optional .ril_proto.RilAppState app_state = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      2, this->app_state(), output);
-  }
-  
-  // optional .ril_proto.RilPersoSubstate perso_substate = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      3, this->perso_substate(), output);
-  }
-  
-  // optional string aid = 4;
-  if (_has_bit(3)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->aid().data(), this->aid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      4, this->aid(), output);
-  }
-  
-  // optional string app_label = 5;
-  if (_has_bit(4)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->app_label().data(), this->app_label().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      5, this->app_label(), output);
-  }
-  
-  // optional int32 pin1_replaced = 6;
-  if (_has_bit(5)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->pin1_replaced(), output);
-  }
-  
-  // optional .ril_proto.RilPinState pin1 = 7;
-  if (_has_bit(6)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      7, this->pin1(), output);
-  }
-  
-  // optional .ril_proto.RilPinState pin2 = 8;
-  if (_has_bit(7)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      8, this->pin2(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RilAppStatus::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional .ril_proto.RilAppType app_type = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->app_type(), target);
-  }
-  
-  // optional .ril_proto.RilAppState app_state = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      2, this->app_state(), target);
-  }
-  
-  // optional .ril_proto.RilPersoSubstate perso_substate = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      3, this->perso_substate(), target);
-  }
-  
-  // optional string aid = 4;
-  if (_has_bit(3)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->aid().data(), this->aid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        4, this->aid(), target);
-  }
-  
-  // optional string app_label = 5;
-  if (_has_bit(4)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->app_label().data(), this->app_label().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        5, this->app_label(), target);
-  }
-  
-  // optional int32 pin1_replaced = 6;
-  if (_has_bit(5)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->pin1_replaced(), target);
-  }
-  
-  // optional .ril_proto.RilPinState pin1 = 7;
-  if (_has_bit(6)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      7, this->pin1(), target);
-  }
-  
-  // optional .ril_proto.RilPinState pin2 = 8;
-  if (_has_bit(7)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      8, this->pin2(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RilAppStatus::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional .ril_proto.RilAppType app_type = 1;
-    if (has_app_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->app_type());
-    }
-    
-    // optional .ril_proto.RilAppState app_state = 2;
-    if (has_app_state()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->app_state());
-    }
-    
-    // optional .ril_proto.RilPersoSubstate perso_substate = 3;
-    if (has_perso_substate()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->perso_substate());
-    }
-    
-    // optional string aid = 4;
-    if (has_aid()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->aid());
-    }
-    
-    // optional string app_label = 5;
-    if (has_app_label()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->app_label());
-    }
-    
-    // optional int32 pin1_replaced = 6;
-    if (has_pin1_replaced()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->pin1_replaced());
-    }
-    
-    // optional .ril_proto.RilPinState pin1 = 7;
-    if (has_pin1()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->pin1());
-    }
-    
-    // optional .ril_proto.RilPinState pin2 = 8;
-    if (has_pin2()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->pin2());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RilAppStatus::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RilAppStatus* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RilAppStatus*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RilAppStatus::MergeFrom(const RilAppStatus& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_app_type(from.app_type());
-    }
-    if (from._has_bit(1)) {
-      set_app_state(from.app_state());
-    }
-    if (from._has_bit(2)) {
-      set_perso_substate(from.perso_substate());
-    }
-    if (from._has_bit(3)) {
-      set_aid(from.aid());
-    }
-    if (from._has_bit(4)) {
-      set_app_label(from.app_label());
-    }
-    if (from._has_bit(5)) {
-      set_pin1_replaced(from.pin1_replaced());
-    }
-    if (from._has_bit(6)) {
-      set_pin1(from.pin1());
-    }
-    if (from._has_bit(7)) {
-      set_pin2(from.pin2());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RilAppStatus::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RilAppStatus::CopyFrom(const RilAppStatus& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RilAppStatus::IsInitialized() const {
-  
-  return true;
-}
-
-void RilAppStatus::Swap(RilAppStatus* other) {
-  if (other != this) {
-    std::swap(app_type_, other->app_type_);
-    std::swap(app_state_, other->app_state_);
-    std::swap(perso_substate_, other->perso_substate_);
-    std::swap(aid_, other->aid_);
-    std::swap(app_label_, other->app_label_);
-    std::swap(pin1_replaced_, other->pin1_replaced_);
-    std::swap(pin1_, other->pin1_);
-    std::swap(pin2_, other->pin2_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RilAppStatus::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RilAppStatus_descriptor_;
-  metadata.reflection = RilAppStatus_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RilCardStatus::kCardStateFieldNumber;
-const int RilCardStatus::kUniversalPinStateFieldNumber;
-const int RilCardStatus::kGsmUmtsSubscriptionAppIndexFieldNumber;
-const int RilCardStatus::kCdmaSubscriptionAppIndexFieldNumber;
-const int RilCardStatus::kNumApplicationsFieldNumber;
-const int RilCardStatus::kApplicationsFieldNumber;
-#endif  // !_MSC_VER
-
-RilCardStatus::RilCardStatus()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RilCardStatus::InitAsDefaultInstance() {
-}
-
-RilCardStatus::RilCardStatus(const RilCardStatus& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RilCardStatus::SharedCtor() {
-  _cached_size_ = 0;
-  card_state_ = 0;
-  universal_pin_state_ = 0;
-  gsm_umts_subscription_app_index_ = 0;
-  cdma_subscription_app_index_ = 0;
-  num_applications_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RilCardStatus::~RilCardStatus() {
-  SharedDtor();
-}
-
-void RilCardStatus::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RilCardStatus::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RilCardStatus::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilCardStatus_descriptor_;
-}
-
-const RilCardStatus& RilCardStatus::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RilCardStatus* RilCardStatus::default_instance_ = NULL;
-
-RilCardStatus* RilCardStatus::New() const {
-  return new RilCardStatus;
-}
-
-void RilCardStatus::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    card_state_ = 0;
-    universal_pin_state_ = 0;
-    gsm_umts_subscription_app_index_ = 0;
-    cdma_subscription_app_index_ = 0;
-    num_applications_ = 0;
-  }
-  applications_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RilCardStatus::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional .ril_proto.RilCardState card_state = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilCardState_IsValid(value)) {
-            set_card_state(static_cast< ril_proto::RilCardState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(1, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_universal_pin_state;
-        break;
-      }
-      
-      // optional .ril_proto.RilPinState universal_pin_state = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_universal_pin_state:
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilPinState_IsValid(value)) {
-            set_universal_pin_state(static_cast< ril_proto::RilPinState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(2, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(24)) goto parse_gsm_umts_subscription_app_index;
-        break;
-      }
-      
-      // optional int32 gsm_umts_subscription_app_index = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_gsm_umts_subscription_app_index:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &gsm_umts_subscription_app_index_)));
-          _set_bit(2);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(32)) goto parse_cdma_subscription_app_index;
-        break;
-      }
-      
-      // optional int32 cdma_subscription_app_index = 4;
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_cdma_subscription_app_index:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &cdma_subscription_app_index_)));
-          _set_bit(3);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(40)) goto parse_num_applications;
-        break;
-      }
-      
-      // optional int32 num_applications = 5;
-      case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_num_applications:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &num_applications_)));
-          _set_bit(4);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(50)) goto parse_applications;
-        break;
-      }
-      
-      // repeated .ril_proto.RilAppStatus applications = 6;
-      case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_applications:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_applications()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(50)) goto parse_applications;
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RilCardStatus::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional .ril_proto.RilCardState card_state = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->card_state(), output);
-  }
-  
-  // optional .ril_proto.RilPinState universal_pin_state = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      2, this->universal_pin_state(), output);
-  }
-  
-  // optional int32 gsm_umts_subscription_app_index = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->gsm_umts_subscription_app_index(), output);
-  }
-  
-  // optional int32 cdma_subscription_app_index = 4;
-  if (_has_bit(3)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->cdma_subscription_app_index(), output);
-  }
-  
-  // optional int32 num_applications = 5;
-  if (_has_bit(4)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->num_applications(), output);
-  }
-  
-  // repeated .ril_proto.RilAppStatus applications = 6;
-  for (int i = 0; i < this->applications_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      6, this->applications(i), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RilCardStatus::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional .ril_proto.RilCardState card_state = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->card_state(), target);
-  }
-  
-  // optional .ril_proto.RilPinState universal_pin_state = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      2, this->universal_pin_state(), target);
-  }
-  
-  // optional int32 gsm_umts_subscription_app_index = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->gsm_umts_subscription_app_index(), target);
-  }
-  
-  // optional int32 cdma_subscription_app_index = 4;
-  if (_has_bit(3)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->cdma_subscription_app_index(), target);
-  }
-  
-  // optional int32 num_applications = 5;
-  if (_has_bit(4)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->num_applications(), target);
-  }
-  
-  // repeated .ril_proto.RilAppStatus applications = 6;
-  for (int i = 0; i < this->applications_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        6, this->applications(i), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RilCardStatus::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional .ril_proto.RilCardState card_state = 1;
-    if (has_card_state()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->card_state());
-    }
-    
-    // optional .ril_proto.RilPinState universal_pin_state = 2;
-    if (has_universal_pin_state()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->universal_pin_state());
-    }
-    
-    // optional int32 gsm_umts_subscription_app_index = 3;
-    if (has_gsm_umts_subscription_app_index()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->gsm_umts_subscription_app_index());
-    }
-    
-    // optional int32 cdma_subscription_app_index = 4;
-    if (has_cdma_subscription_app_index()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->cdma_subscription_app_index());
-    }
-    
-    // optional int32 num_applications = 5;
-    if (has_num_applications()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->num_applications());
-    }
-    
-  }
-  // repeated .ril_proto.RilAppStatus applications = 6;
-  total_size += 1 * this->applications_size();
-  for (int i = 0; i < this->applications_size(); i++) {
-    total_size +=
-      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-        this->applications(i));
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RilCardStatus::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RilCardStatus* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RilCardStatus*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RilCardStatus::MergeFrom(const RilCardStatus& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  applications_.MergeFrom(from.applications_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_card_state(from.card_state());
-    }
-    if (from._has_bit(1)) {
-      set_universal_pin_state(from.universal_pin_state());
-    }
-    if (from._has_bit(2)) {
-      set_gsm_umts_subscription_app_index(from.gsm_umts_subscription_app_index());
-    }
-    if (from._has_bit(3)) {
-      set_cdma_subscription_app_index(from.cdma_subscription_app_index());
-    }
-    if (from._has_bit(4)) {
-      set_num_applications(from.num_applications());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RilCardStatus::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RilCardStatus::CopyFrom(const RilCardStatus& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RilCardStatus::IsInitialized() const {
-  
-  return true;
-}
-
-void RilCardStatus::Swap(RilCardStatus* other) {
-  if (other != this) {
-    std::swap(card_state_, other->card_state_);
-    std::swap(universal_pin_state_, other->universal_pin_state_);
-    std::swap(gsm_umts_subscription_app_index_, other->gsm_umts_subscription_app_index_);
-    std::swap(cdma_subscription_app_index_, other->cdma_subscription_app_index_);
-    std::swap(num_applications_, other->num_applications_);
-    applications_.Swap(&other->applications_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RilCardStatus::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RilCardStatus_descriptor_;
-  metadata.reflection = RilCardStatus_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string RilUusInfo::_default_uus_data_;
-#ifndef _MSC_VER
-const int RilUusInfo::kUusTypeFieldNumber;
-const int RilUusInfo::kUusDcsFieldNumber;
-const int RilUusInfo::kUusLengthFieldNumber;
-const int RilUusInfo::kUusDataFieldNumber;
-#endif  // !_MSC_VER
-
-RilUusInfo::RilUusInfo()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RilUusInfo::InitAsDefaultInstance() {
-}
-
-RilUusInfo::RilUusInfo(const RilUusInfo& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RilUusInfo::SharedCtor() {
-  _cached_size_ = 0;
-  uus_type_ = 0;
-  uus_dcs_ = 0;
-  uus_length_ = 0;
-  uus_data_ = const_cast< ::std::string*>(&_default_uus_data_);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RilUusInfo::~RilUusInfo() {
-  SharedDtor();
-}
-
-void RilUusInfo::SharedDtor() {
-  if (uus_data_ != &_default_uus_data_) {
-    delete uus_data_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void RilUusInfo::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RilUusInfo::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilUusInfo_descriptor_;
-}
-
-const RilUusInfo& RilUusInfo::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RilUusInfo* RilUusInfo::default_instance_ = NULL;
-
-RilUusInfo* RilUusInfo::New() const {
-  return new RilUusInfo;
-}
-
-void RilUusInfo::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    uus_type_ = 0;
-    uus_dcs_ = 0;
-    uus_length_ = 0;
-    if (_has_bit(3)) {
-      if (uus_data_ != &_default_uus_data_) {
-        uus_data_->clear();
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RilUusInfo::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional .ril_proto.RilUusType uus_type = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilUusType_IsValid(value)) {
-            set_uus_type(static_cast< ril_proto::RilUusType >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(1, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_uus_dcs;
-        break;
-      }
-      
-      // optional .ril_proto.RilUusDcs uus_dcs = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_uus_dcs:
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilUusDcs_IsValid(value)) {
-            set_uus_dcs(static_cast< ril_proto::RilUusDcs >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(2, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(24)) goto parse_uus_length;
-        break;
-      }
-      
-      // optional int32 uus_length = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_uus_length:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &uus_length_)));
-          _set_bit(2);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(34)) goto parse_uus_data;
-        break;
-      }
-      
-      // optional string uus_data = 4;
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_uus_data:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_uus_data()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->uus_data().data(), this->uus_data().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RilUusInfo::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional .ril_proto.RilUusType uus_type = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->uus_type(), output);
-  }
-  
-  // optional .ril_proto.RilUusDcs uus_dcs = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      2, this->uus_dcs(), output);
-  }
-  
-  // optional int32 uus_length = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->uus_length(), output);
-  }
-  
-  // optional string uus_data = 4;
-  if (_has_bit(3)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uus_data().data(), this->uus_data().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      4, this->uus_data(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RilUusInfo::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional .ril_proto.RilUusType uus_type = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->uus_type(), target);
-  }
-  
-  // optional .ril_proto.RilUusDcs uus_dcs = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      2, this->uus_dcs(), target);
-  }
-  
-  // optional int32 uus_length = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->uus_length(), target);
-  }
-  
-  // optional string uus_data = 4;
-  if (_has_bit(3)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uus_data().data(), this->uus_data().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        4, this->uus_data(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RilUusInfo::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional .ril_proto.RilUusType uus_type = 1;
-    if (has_uus_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->uus_type());
-    }
-    
-    // optional .ril_proto.RilUusDcs uus_dcs = 2;
-    if (has_uus_dcs()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->uus_dcs());
-    }
-    
-    // optional int32 uus_length = 3;
-    if (has_uus_length()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->uus_length());
-    }
-    
-    // optional string uus_data = 4;
-    if (has_uus_data()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->uus_data());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RilUusInfo::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RilUusInfo* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RilUusInfo*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RilUusInfo::MergeFrom(const RilUusInfo& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_uus_type(from.uus_type());
-    }
-    if (from._has_bit(1)) {
-      set_uus_dcs(from.uus_dcs());
-    }
-    if (from._has_bit(2)) {
-      set_uus_length(from.uus_length());
-    }
-    if (from._has_bit(3)) {
-      set_uus_data(from.uus_data());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RilUusInfo::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RilUusInfo::CopyFrom(const RilUusInfo& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RilUusInfo::IsInitialized() const {
-  
-  return true;
-}
-
-void RilUusInfo::Swap(RilUusInfo* other) {
-  if (other != this) {
-    std::swap(uus_type_, other->uus_type_);
-    std::swap(uus_dcs_, other->uus_dcs_);
-    std::swap(uus_length_, other->uus_length_);
-    std::swap(uus_data_, other->uus_data_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RilUusInfo::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RilUusInfo_descriptor_;
-  metadata.reflection = RilUusInfo_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string RilCall::_default_number_;
-const ::std::string RilCall::_default_name_;
-#ifndef _MSC_VER
-const int RilCall::kStateFieldNumber;
-const int RilCall::kIndexFieldNumber;
-const int RilCall::kToaFieldNumber;
-const int RilCall::kIsMptyFieldNumber;
-const int RilCall::kIsMtFieldNumber;
-const int RilCall::kAlsFieldNumber;
-const int RilCall::kIsVoiceFieldNumber;
-const int RilCall::kIsVoicePrivacyFieldNumber;
-const int RilCall::kNumberFieldNumber;
-const int RilCall::kNumberPresentationFieldNumber;
-const int RilCall::kNameFieldNumber;
-const int RilCall::kNamePresentationFieldNumber;
-const int RilCall::kUusInfoFieldNumber;
-#endif  // !_MSC_VER
-
-RilCall::RilCall()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RilCall::InitAsDefaultInstance() {
-  uus_info_ = const_cast< ::ril_proto::RilUusInfo*>(&::ril_proto::RilUusInfo::default_instance());
-}
-
-RilCall::RilCall(const RilCall& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RilCall::SharedCtor() {
-  _cached_size_ = 0;
-  state_ = 0;
-  index_ = 0;
-  toa_ = 0;
-  is_mpty_ = false;
-  is_mt_ = false;
-  als_ = 0;
-  is_voice_ = false;
-  is_voice_privacy_ = false;
-  number_ = const_cast< ::std::string*>(&_default_number_);
-  number_presentation_ = 0;
-  name_ = const_cast< ::std::string*>(&_default_name_);
-  name_presentation_ = 0;
-  uus_info_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RilCall::~RilCall() {
-  SharedDtor();
-}
-
-void RilCall::SharedDtor() {
-  if (number_ != &_default_number_) {
-    delete number_;
-  }
-  if (name_ != &_default_name_) {
-    delete name_;
-  }
-  if (this != default_instance_) {
-    delete uus_info_;
-  }
-}
-
-void RilCall::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RilCall::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RilCall_descriptor_;
-}
-
-const RilCall& RilCall::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RilCall* RilCall::default_instance_ = NULL;
-
-RilCall* RilCall::New() const {
-  return new RilCall;
-}
-
-void RilCall::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    state_ = 0;
-    index_ = 0;
-    toa_ = 0;
-    is_mpty_ = false;
-    is_mt_ = false;
-    als_ = 0;
-    is_voice_ = false;
-    is_voice_privacy_ = false;
-  }
-  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
-    if (_has_bit(8)) {
-      if (number_ != &_default_number_) {
-        number_->clear();
-      }
-    }
-    number_presentation_ = 0;
-    if (_has_bit(10)) {
-      if (name_ != &_default_name_) {
-        name_->clear();
-      }
-    }
-    name_presentation_ = 0;
-    if (_has_bit(12)) {
-      if (uus_info_ != NULL) uus_info_->::ril_proto::RilUusInfo::Clear();
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RilCall::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional .ril_proto.RilCallState state = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (ril_proto::RilCallState_IsValid(value)) {
-            set_state(static_cast< ril_proto::RilCallState >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(1, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_index;
-        break;
-      }
-      
-      // optional int32 index = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_index:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &index_)));
-          _set_bit(1);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(24)) goto parse_toa;
-        break;
-      }
-      
-      // optional int32 toa = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_toa:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &toa_)));
-          _set_bit(2);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(32)) goto parse_is_mpty;
-        break;
-      }
-      
-      // optional bool is_mpty = 4;
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_is_mpty:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_mpty_)));
-          _set_bit(3);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(40)) goto parse_is_mt;
-        break;
-      }
-      
-      // optional bool is_mt = 5;
-      case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_is_mt:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_mt_)));
-          _set_bit(4);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(48)) goto parse_als;
-        break;
-      }
-      
-      // optional int32 als = 6;
-      case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_als:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &als_)));
-          _set_bit(5);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(56)) goto parse_is_voice;
-        break;
-      }
-      
-      // optional bool is_voice = 7;
-      case 7: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_is_voice:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_voice_)));
-          _set_bit(6);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(64)) goto parse_is_voice_privacy;
-        break;
-      }
-      
-      // optional bool is_voice_privacy = 8;
-      case 8: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_is_voice_privacy:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_voice_privacy_)));
-          _set_bit(7);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(74)) goto parse_number;
-        break;
-      }
-      
-      // optional string number = 9;
-      case 9: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_number:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_number()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->number().data(), this->number().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(80)) goto parse_number_presentation;
-        break;
-      }
-      
-      // optional int32 number_presentation = 10;
-      case 10: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_number_presentation:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &number_presentation_)));
-          _set_bit(9);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(90)) goto parse_name;
-        break;
-      }
-      
-      // optional string name = 11;
-      case 11: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_name:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_name()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->name().data(), this->name().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(96)) goto parse_name_presentation;
-        break;
-      }
-      
-      // optional int32 name_presentation = 12;
-      case 12: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_name_presentation:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &name_presentation_)));
-          _set_bit(11);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(106)) goto parse_uus_info;
-        break;
-      }
-      
-      // optional .ril_proto.RilUusInfo uus_info = 13;
-      case 13: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_uus_info:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_uus_info()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RilCall::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional .ril_proto.RilCallState state = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->state(), output);
-  }
-  
-  // optional int32 index = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->index(), output);
-  }
-  
-  // optional int32 toa = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->toa(), output);
-  }
-  
-  // optional bool is_mpty = 4;
-  if (_has_bit(3)) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->is_mpty(), output);
-  }
-  
-  // optional bool is_mt = 5;
-  if (_has_bit(4)) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->is_mt(), output);
-  }
-  
-  // optional int32 als = 6;
-  if (_has_bit(5)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->als(), output);
-  }
-  
-  // optional bool is_voice = 7;
-  if (_has_bit(6)) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->is_voice(), output);
-  }
-  
-  // optional bool is_voice_privacy = 8;
-  if (_has_bit(7)) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->is_voice_privacy(), output);
-  }
-  
-  // optional string number = 9;
-  if (_has_bit(8)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->number().data(), this->number().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      9, this->number(), output);
-  }
-  
-  // optional int32 number_presentation = 10;
-  if (_has_bit(9)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(10, this->number_presentation(), output);
-  }
-  
-  // optional string name = 11;
-  if (_has_bit(10)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->name().data(), this->name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      11, this->name(), output);
-  }
-  
-  // optional int32 name_presentation = 12;
-  if (_has_bit(11)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(12, this->name_presentation(), output);
-  }
-  
-  // optional .ril_proto.RilUusInfo uus_info = 13;
-  if (_has_bit(12)) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      13, this->uus_info(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RilCall::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional .ril_proto.RilCallState state = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->state(), target);
-  }
-  
-  // optional int32 index = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->index(), target);
-  }
-  
-  // optional int32 toa = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->toa(), target);
-  }
-  
-  // optional bool is_mpty = 4;
-  if (_has_bit(3)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->is_mpty(), target);
-  }
-  
-  // optional bool is_mt = 5;
-  if (_has_bit(4)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->is_mt(), target);
-  }
-  
-  // optional int32 als = 6;
-  if (_has_bit(5)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->als(), target);
-  }
-  
-  // optional bool is_voice = 7;
-  if (_has_bit(6)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->is_voice(), target);
-  }
-  
-  // optional bool is_voice_privacy = 8;
-  if (_has_bit(7)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->is_voice_privacy(), target);
-  }
-  
-  // optional string number = 9;
-  if (_has_bit(8)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->number().data(), this->number().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        9, this->number(), target);
-  }
-  
-  // optional int32 number_presentation = 10;
-  if (_has_bit(9)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(10, this->number_presentation(), target);
-  }
-  
-  // optional string name = 11;
-  if (_has_bit(10)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->name().data(), this->name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        11, this->name(), target);
-  }
-  
-  // optional int32 name_presentation = 12;
-  if (_has_bit(11)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(12, this->name_presentation(), target);
-  }
-  
-  // optional .ril_proto.RilUusInfo uus_info = 13;
-  if (_has_bit(12)) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        13, this->uus_info(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RilCall::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional .ril_proto.RilCallState state = 1;
-    if (has_state()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->state());
-    }
-    
-    // optional int32 index = 2;
-    if (has_index()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->index());
-    }
-    
-    // optional int32 toa = 3;
-    if (has_toa()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->toa());
-    }
-    
-    // optional bool is_mpty = 4;
-    if (has_is_mpty()) {
-      total_size += 1 + 1;
-    }
-    
-    // optional bool is_mt = 5;
-    if (has_is_mt()) {
-      total_size += 1 + 1;
-    }
-    
-    // optional int32 als = 6;
-    if (has_als()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->als());
-    }
-    
-    // optional bool is_voice = 7;
-    if (has_is_voice()) {
-      total_size += 1 + 1;
-    }
-    
-    // optional bool is_voice_privacy = 8;
-    if (has_is_voice_privacy()) {
-      total_size += 1 + 1;
-    }
-    
-  }
-  if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
-    // optional string number = 9;
-    if (has_number()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->number());
-    }
-    
-    // optional int32 number_presentation = 10;
-    if (has_number_presentation()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->number_presentation());
-    }
-    
-    // optional string name = 11;
-    if (has_name()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->name());
-    }
-    
-    // optional int32 name_presentation = 12;
-    if (has_name_presentation()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->name_presentation());
-    }
-    
-    // optional .ril_proto.RilUusInfo uus_info = 13;
-    if (has_uus_info()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->uus_info());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RilCall::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RilCall* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RilCall*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RilCall::MergeFrom(const RilCall& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_state(from.state());
-    }
-    if (from._has_bit(1)) {
-      set_index(from.index());
-    }
-    if (from._has_bit(2)) {
-      set_toa(from.toa());
-    }
-    if (from._has_bit(3)) {
-      set_is_mpty(from.is_mpty());
-    }
-    if (from._has_bit(4)) {
-      set_is_mt(from.is_mt());
-    }
-    if (from._has_bit(5)) {
-      set_als(from.als());
-    }
-    if (from._has_bit(6)) {
-      set_is_voice(from.is_voice());
-    }
-    if (from._has_bit(7)) {
-      set_is_voice_privacy(from.is_voice_privacy());
-    }
-  }
-  if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
-    if (from._has_bit(8)) {
-      set_number(from.number());
-    }
-    if (from._has_bit(9)) {
-      set_number_presentation(from.number_presentation());
-    }
-    if (from._has_bit(10)) {
-      set_name(from.name());
-    }
-    if (from._has_bit(11)) {
-      set_name_presentation(from.name_presentation());
-    }
-    if (from._has_bit(12)) {
-      mutable_uus_info()->::ril_proto::RilUusInfo::MergeFrom(from.uus_info());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RilCall::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RilCall::CopyFrom(const RilCall& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RilCall::IsInitialized() const {
-  
-  return true;
-}
-
-void RilCall::Swap(RilCall* other) {
-  if (other != this) {
-    std::swap(state_, other->state_);
-    std::swap(index_, other->index_);
-    std::swap(toa_, other->toa_);
-    std::swap(is_mpty_, other->is_mpty_);
-    std::swap(is_mt_, other->is_mt_);
-    std::swap(als_, other->als_);
-    std::swap(is_voice_, other->is_voice_);
-    std::swap(is_voice_privacy_, other->is_voice_privacy_);
-    std::swap(number_, other->number_);
-    std::swap(number_presentation_, other->number_presentation_);
-    std::swap(name_, other->name_);
-    std::swap(name_presentation_, other->name_presentation_);
-    std::swap(uus_info_, other->uus_info_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RilCall::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RilCall_descriptor_;
-  metadata.reflection = RilCall_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RILGWSignalStrength::kSignalStrengthFieldNumber;
-const int RILGWSignalStrength::kBitErrorRateFieldNumber;
-#endif  // !_MSC_VER
-
-RILGWSignalStrength::RILGWSignalStrength()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RILGWSignalStrength::InitAsDefaultInstance() {
-}
-
-RILGWSignalStrength::RILGWSignalStrength(const RILGWSignalStrength& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RILGWSignalStrength::SharedCtor() {
-  _cached_size_ = 0;
-  signal_strength_ = 0;
-  bit_error_rate_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RILGWSignalStrength::~RILGWSignalStrength() {
-  SharedDtor();
-}
-
-void RILGWSignalStrength::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RILGWSignalStrength::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RILGWSignalStrength::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RILGWSignalStrength_descriptor_;
-}
-
-const RILGWSignalStrength& RILGWSignalStrength::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RILGWSignalStrength* RILGWSignalStrength::default_instance_ = NULL;
-
-RILGWSignalStrength* RILGWSignalStrength::New() const {
-  return new RILGWSignalStrength;
-}
-
-void RILGWSignalStrength::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    signal_strength_ = 0;
-    bit_error_rate_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RILGWSignalStrength::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional int32 signal_strength = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &signal_strength_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_bit_error_rate;
-        break;
-      }
-      
-      // optional int32 bit_error_rate = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_bit_error_rate:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &bit_error_rate_)));
-          _set_bit(1);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RILGWSignalStrength::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional int32 signal_strength = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->signal_strength(), output);
-  }
-  
-  // optional int32 bit_error_rate = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->bit_error_rate(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RILGWSignalStrength::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional int32 signal_strength = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->signal_strength(), target);
-  }
-  
-  // optional int32 bit_error_rate = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->bit_error_rate(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RILGWSignalStrength::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional int32 signal_strength = 1;
-    if (has_signal_strength()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->signal_strength());
-    }
-    
-    // optional int32 bit_error_rate = 2;
-    if (has_bit_error_rate()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->bit_error_rate());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RILGWSignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RILGWSignalStrength* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RILGWSignalStrength*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RILGWSignalStrength::MergeFrom(const RILGWSignalStrength& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_signal_strength(from.signal_strength());
-    }
-    if (from._has_bit(1)) {
-      set_bit_error_rate(from.bit_error_rate());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RILGWSignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RILGWSignalStrength::CopyFrom(const RILGWSignalStrength& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RILGWSignalStrength::IsInitialized() const {
-  
-  return true;
-}
-
-void RILGWSignalStrength::Swap(RILGWSignalStrength* other) {
-  if (other != this) {
-    std::swap(signal_strength_, other->signal_strength_);
-    std::swap(bit_error_rate_, other->bit_error_rate_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RILGWSignalStrength::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RILGWSignalStrength_descriptor_;
-  metadata.reflection = RILGWSignalStrength_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RILCDMASignalStrength::kDbmFieldNumber;
-const int RILCDMASignalStrength::kEcioFieldNumber;
-#endif  // !_MSC_VER
-
-RILCDMASignalStrength::RILCDMASignalStrength()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RILCDMASignalStrength::InitAsDefaultInstance() {
-}
-
-RILCDMASignalStrength::RILCDMASignalStrength(const RILCDMASignalStrength& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RILCDMASignalStrength::SharedCtor() {
-  _cached_size_ = 0;
-  dbm_ = 0;
-  ecio_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RILCDMASignalStrength::~RILCDMASignalStrength() {
-  SharedDtor();
-}
-
-void RILCDMASignalStrength::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RILCDMASignalStrength::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RILCDMASignalStrength::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RILCDMASignalStrength_descriptor_;
-}
-
-const RILCDMASignalStrength& RILCDMASignalStrength::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RILCDMASignalStrength* RILCDMASignalStrength::default_instance_ = NULL;
-
-RILCDMASignalStrength* RILCDMASignalStrength::New() const {
-  return new RILCDMASignalStrength;
-}
-
-void RILCDMASignalStrength::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    dbm_ = 0;
-    ecio_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RILCDMASignalStrength::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional int32 dbm = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &dbm_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_ecio;
-        break;
-      }
-      
-      // optional int32 ecio = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_ecio:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &ecio_)));
-          _set_bit(1);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RILCDMASignalStrength::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional int32 dbm = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->dbm(), output);
-  }
-  
-  // optional int32 ecio = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->ecio(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RILCDMASignalStrength::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional int32 dbm = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->dbm(), target);
-  }
-  
-  // optional int32 ecio = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->ecio(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RILCDMASignalStrength::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional int32 dbm = 1;
-    if (has_dbm()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->dbm());
-    }
-    
-    // optional int32 ecio = 2;
-    if (has_ecio()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->ecio());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RILCDMASignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RILCDMASignalStrength* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RILCDMASignalStrength*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RILCDMASignalStrength::MergeFrom(const RILCDMASignalStrength& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_dbm(from.dbm());
-    }
-    if (from._has_bit(1)) {
-      set_ecio(from.ecio());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RILCDMASignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RILCDMASignalStrength::CopyFrom(const RILCDMASignalStrength& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RILCDMASignalStrength::IsInitialized() const {
-  
-  return true;
-}
-
-void RILCDMASignalStrength::Swap(RILCDMASignalStrength* other) {
-  if (other != this) {
-    std::swap(dbm_, other->dbm_);
-    std::swap(ecio_, other->ecio_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RILCDMASignalStrength::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RILCDMASignalStrength_descriptor_;
-  metadata.reflection = RILCDMASignalStrength_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RILEVDOSignalStrength::kDbmFieldNumber;
-const int RILEVDOSignalStrength::kEcioFieldNumber;
-const int RILEVDOSignalStrength::kSignalNoiseRatioFieldNumber;
-#endif  // !_MSC_VER
-
-RILEVDOSignalStrength::RILEVDOSignalStrength()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RILEVDOSignalStrength::InitAsDefaultInstance() {
-}
-
-RILEVDOSignalStrength::RILEVDOSignalStrength(const RILEVDOSignalStrength& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RILEVDOSignalStrength::SharedCtor() {
-  _cached_size_ = 0;
-  dbm_ = 0;
-  ecio_ = 0;
-  signal_noise_ratio_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RILEVDOSignalStrength::~RILEVDOSignalStrength() {
-  SharedDtor();
-}
-
-void RILEVDOSignalStrength::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RILEVDOSignalStrength::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RILEVDOSignalStrength::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RILEVDOSignalStrength_descriptor_;
-}
-
-const RILEVDOSignalStrength& RILEVDOSignalStrength::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RILEVDOSignalStrength* RILEVDOSignalStrength::default_instance_ = NULL;
-
-RILEVDOSignalStrength* RILEVDOSignalStrength::New() const {
-  return new RILEVDOSignalStrength;
-}
-
-void RILEVDOSignalStrength::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    dbm_ = 0;
-    ecio_ = 0;
-    signal_noise_ratio_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RILEVDOSignalStrength::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional int32 dbm = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &dbm_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_ecio;
-        break;
-      }
-      
-      // optional int32 ecio = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_ecio:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &ecio_)));
-          _set_bit(1);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(24)) goto parse_signal_noise_ratio;
-        break;
-      }
-      
-      // optional int32 signal_noise_ratio = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_signal_noise_ratio:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &signal_noise_ratio_)));
-          _set_bit(2);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RILEVDOSignalStrength::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional int32 dbm = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->dbm(), output);
-  }
-  
-  // optional int32 ecio = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->ecio(), output);
-  }
-  
-  // optional int32 signal_noise_ratio = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->signal_noise_ratio(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RILEVDOSignalStrength::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional int32 dbm = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->dbm(), target);
-  }
-  
-  // optional int32 ecio = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->ecio(), target);
-  }
-  
-  // optional int32 signal_noise_ratio = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->signal_noise_ratio(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RILEVDOSignalStrength::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional int32 dbm = 1;
-    if (has_dbm()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->dbm());
-    }
-    
-    // optional int32 ecio = 2;
-    if (has_ecio()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->ecio());
-    }
-    
-    // optional int32 signal_noise_ratio = 3;
-    if (has_signal_noise_ratio()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->signal_noise_ratio());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RILEVDOSignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RILEVDOSignalStrength* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RILEVDOSignalStrength*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RILEVDOSignalStrength::MergeFrom(const RILEVDOSignalStrength& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_dbm(from.dbm());
-    }
-    if (from._has_bit(1)) {
-      set_ecio(from.ecio());
-    }
-    if (from._has_bit(2)) {
-      set_signal_noise_ratio(from.signal_noise_ratio());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RILEVDOSignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RILEVDOSignalStrength::CopyFrom(const RILEVDOSignalStrength& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RILEVDOSignalStrength::IsInitialized() const {
-  
-  return true;
-}
-
-void RILEVDOSignalStrength::Swap(RILEVDOSignalStrength* other) {
-  if (other != this) {
-    std::swap(dbm_, other->dbm_);
-    std::swap(ecio_, other->ecio_);
-    std::swap(signal_noise_ratio_, other->signal_noise_ratio_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RILEVDOSignalStrength::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RILEVDOSignalStrength_descriptor_;
-  metadata.reflection = RILEVDOSignalStrength_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RspStrings::kStringsFieldNumber;
-#endif  // !_MSC_VER
-
-RspStrings::RspStrings()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspStrings::InitAsDefaultInstance() {
-}
-
-RspStrings::RspStrings(const RspStrings& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspStrings::SharedCtor() {
-  _cached_size_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspStrings::~RspStrings() {
-  SharedDtor();
-}
-
-void RspStrings::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RspStrings::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspStrings::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspStrings_descriptor_;
-}
-
-const RspStrings& RspStrings::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspStrings* RspStrings::default_instance_ = NULL;
-
-RspStrings* RspStrings::New() const {
-  return new RspStrings;
-}
-
-void RspStrings::Clear() {
-  strings_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspStrings::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated string strings = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_strings:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->add_strings()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->strings(0).data(), this->strings(0).length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(10)) goto parse_strings;
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspStrings::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // repeated string strings = 1;
-  for (int i = 0; i < this->strings_size(); i++) {
-  ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-    this->strings(i).data(), this->strings(i).length(),
-    ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->strings(i), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspStrings::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // repeated string strings = 1;
-  for (int i = 0; i < this->strings_size(); i++) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->strings(i).data(), this->strings(i).length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteStringToArray(1, this->strings(i), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspStrings::ByteSize() const {
-  int total_size = 0;
-  
-  // repeated string strings = 1;
-  total_size += 1 * this->strings_size();
-  for (int i = 0; i < this->strings_size(); i++) {
-    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
-      this->strings(i));
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspStrings::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspStrings* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspStrings*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspStrings::MergeFrom(const RspStrings& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  strings_.MergeFrom(from.strings_);
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspStrings::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspStrings::CopyFrom(const RspStrings& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspStrings::IsInitialized() const {
-  
-  return true;
-}
-
-void RspStrings::Swap(RspStrings* other) {
-  if (other != this) {
-    strings_.Swap(&other->strings_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspStrings::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspStrings_descriptor_;
-  metadata.reflection = RspStrings_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RspIntegers::kIntegersFieldNumber;
-#endif  // !_MSC_VER
-
-RspIntegers::RspIntegers()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspIntegers::InitAsDefaultInstance() {
-}
-
-RspIntegers::RspIntegers(const RspIntegers& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspIntegers::SharedCtor() {
-  _cached_size_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspIntegers::~RspIntegers() {
-  SharedDtor();
-}
-
-void RspIntegers::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RspIntegers::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspIntegers::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspIntegers_descriptor_;
-}
-
-const RspIntegers& RspIntegers::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspIntegers* RspIntegers::default_instance_ = NULL;
-
-RspIntegers* RspIntegers::New() const {
-  return new RspIntegers;
-}
-
-void RspIntegers::Clear() {
-  integers_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspIntegers::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated int32 integers = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_integers:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 1, 8, input, this->mutable_integers())));
-        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
-                   == ::google::protobuf::internal::WireFormatLite::
-                      WIRETYPE_LENGTH_DELIMITED) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, this->mutable_integers())));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(8)) goto parse_integers;
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspIntegers::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // repeated int32 integers = 1;
-  for (int i = 0; i < this->integers_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(
-      1, this->integers(i), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspIntegers::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // repeated int32 integers = 1;
-  for (int i = 0; i < this->integers_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteInt32ToArray(1, this->integers(i), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspIntegers::ByteSize() const {
-  int total_size = 0;
-  
-  // repeated int32 integers = 1;
-  {
-    int data_size = 0;
-    for (int i = 0; i < this->integers_size(); i++) {
-      data_size += ::google::protobuf::internal::WireFormatLite::
-        Int32Size(this->integers(i));
-    }
-    total_size += 1 * this->integers_size() + data_size;
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspIntegers::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspIntegers* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspIntegers*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspIntegers::MergeFrom(const RspIntegers& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  integers_.MergeFrom(from.integers_);
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspIntegers::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspIntegers::CopyFrom(const RspIntegers& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspIntegers::IsInitialized() const {
-  
-  return true;
-}
-
-void RspIntegers::Swap(RspIntegers* other) {
-  if (other != this) {
-    integers_.Swap(&other->integers_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspIntegers::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspIntegers_descriptor_;
-  metadata.reflection = RspIntegers_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RspGetSimStatus::kCardStatusFieldNumber;
-#endif  // !_MSC_VER
-
-RspGetSimStatus::RspGetSimStatus()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspGetSimStatus::InitAsDefaultInstance() {
-  card_status_ = const_cast< ::ril_proto::RilCardStatus*>(&::ril_proto::RilCardStatus::default_instance());
-}
-
-RspGetSimStatus::RspGetSimStatus(const RspGetSimStatus& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspGetSimStatus::SharedCtor() {
-  _cached_size_ = 0;
-  card_status_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspGetSimStatus::~RspGetSimStatus() {
-  SharedDtor();
-}
-
-void RspGetSimStatus::SharedDtor() {
-  if (this != default_instance_) {
-    delete card_status_;
-  }
-}
-
-void RspGetSimStatus::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspGetSimStatus::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspGetSimStatus_descriptor_;
-}
-
-const RspGetSimStatus& RspGetSimStatus::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspGetSimStatus* RspGetSimStatus::default_instance_ = NULL;
-
-RspGetSimStatus* RspGetSimStatus::New() const {
-  return new RspGetSimStatus;
-}
-
-void RspGetSimStatus::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (_has_bit(0)) {
-      if (card_status_ != NULL) card_status_->::ril_proto::RilCardStatus::Clear();
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspGetSimStatus::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required .ril_proto.RilCardStatus card_status = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_card_status()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspGetSimStatus::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required .ril_proto.RilCardStatus card_status = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, this->card_status(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspGetSimStatus::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required .ril_proto.RilCardStatus card_status = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        1, this->card_status(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspGetSimStatus::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required .ril_proto.RilCardStatus card_status = 1;
-    if (has_card_status()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->card_status());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspGetSimStatus::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspGetSimStatus* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspGetSimStatus*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspGetSimStatus::MergeFrom(const RspGetSimStatus& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      mutable_card_status()->::ril_proto::RilCardStatus::MergeFrom(from.card_status());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspGetSimStatus::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspGetSimStatus::CopyFrom(const RspGetSimStatus& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspGetSimStatus::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void RspGetSimStatus::Swap(RspGetSimStatus* other) {
-  if (other != this) {
-    std::swap(card_status_, other->card_status_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspGetSimStatus::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspGetSimStatus_descriptor_;
-  metadata.reflection = RspGetSimStatus_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string ReqEnterSimPin::_default_pin_;
-#ifndef _MSC_VER
-const int ReqEnterSimPin::kPinFieldNumber;
-#endif  // !_MSC_VER
-
-ReqEnterSimPin::ReqEnterSimPin()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void ReqEnterSimPin::InitAsDefaultInstance() {
-}
-
-ReqEnterSimPin::ReqEnterSimPin(const ReqEnterSimPin& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void ReqEnterSimPin::SharedCtor() {
-  _cached_size_ = 0;
-  pin_ = const_cast< ::std::string*>(&_default_pin_);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-ReqEnterSimPin::~ReqEnterSimPin() {
-  SharedDtor();
-}
-
-void ReqEnterSimPin::SharedDtor() {
-  if (pin_ != &_default_pin_) {
-    delete pin_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void ReqEnterSimPin::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* ReqEnterSimPin::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return ReqEnterSimPin_descriptor_;
-}
-
-const ReqEnterSimPin& ReqEnterSimPin::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-ReqEnterSimPin* ReqEnterSimPin::default_instance_ = NULL;
-
-ReqEnterSimPin* ReqEnterSimPin::New() const {
-  return new ReqEnterSimPin;
-}
-
-void ReqEnterSimPin::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (_has_bit(0)) {
-      if (pin_ != &_default_pin_) {
-        pin_->clear();
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool ReqEnterSimPin::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string pin = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_pin()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->pin().data(), this->pin().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void ReqEnterSimPin::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string pin = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->pin().data(), this->pin().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->pin(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* ReqEnterSimPin::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string pin = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->pin().data(), this->pin().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->pin(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int ReqEnterSimPin::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string pin = 1;
-    if (has_pin()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->pin());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ReqEnterSimPin::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const ReqEnterSimPin* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const ReqEnterSimPin*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void ReqEnterSimPin::MergeFrom(const ReqEnterSimPin& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_pin(from.pin());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void ReqEnterSimPin::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void ReqEnterSimPin::CopyFrom(const ReqEnterSimPin& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ReqEnterSimPin::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void ReqEnterSimPin::Swap(ReqEnterSimPin* other) {
-  if (other != this) {
-    std::swap(pin_, other->pin_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata ReqEnterSimPin::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = ReqEnterSimPin_descriptor_;
-  metadata.reflection = ReqEnterSimPin_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RspEnterSimPin::kRetriesRemainingFieldNumber;
-#endif  // !_MSC_VER
-
-RspEnterSimPin::RspEnterSimPin()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspEnterSimPin::InitAsDefaultInstance() {
-}
-
-RspEnterSimPin::RspEnterSimPin(const RspEnterSimPin& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspEnterSimPin::SharedCtor() {
-  _cached_size_ = 0;
-  retries_remaining_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspEnterSimPin::~RspEnterSimPin() {
-  SharedDtor();
-}
-
-void RspEnterSimPin::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RspEnterSimPin::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspEnterSimPin::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspEnterSimPin_descriptor_;
-}
-
-const RspEnterSimPin& RspEnterSimPin::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspEnterSimPin* RspEnterSimPin::default_instance_ = NULL;
-
-RspEnterSimPin* RspEnterSimPin::New() const {
-  return new RspEnterSimPin;
-}
-
-void RspEnterSimPin::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    retries_remaining_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspEnterSimPin::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required int32 retries_remaining = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &retries_remaining_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspEnterSimPin::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required int32 retries_remaining = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->retries_remaining(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspEnterSimPin::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required int32 retries_remaining = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->retries_remaining(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspEnterSimPin::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required int32 retries_remaining = 1;
-    if (has_retries_remaining()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->retries_remaining());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspEnterSimPin::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspEnterSimPin* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspEnterSimPin*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspEnterSimPin::MergeFrom(const RspEnterSimPin& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_retries_remaining(from.retries_remaining());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspEnterSimPin::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspEnterSimPin::CopyFrom(const RspEnterSimPin& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspEnterSimPin::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void RspEnterSimPin::Swap(RspEnterSimPin* other) {
-  if (other != this) {
-    std::swap(retries_remaining_, other->retries_remaining_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspEnterSimPin::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspEnterSimPin_descriptor_;
-  metadata.reflection = RspEnterSimPin_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RspGetCurrentCalls::kCallsFieldNumber;
-#endif  // !_MSC_VER
-
-RspGetCurrentCalls::RspGetCurrentCalls()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspGetCurrentCalls::InitAsDefaultInstance() {
-}
-
-RspGetCurrentCalls::RspGetCurrentCalls(const RspGetCurrentCalls& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspGetCurrentCalls::SharedCtor() {
-  _cached_size_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspGetCurrentCalls::~RspGetCurrentCalls() {
-  SharedDtor();
-}
-
-void RspGetCurrentCalls::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RspGetCurrentCalls::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspGetCurrentCalls::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspGetCurrentCalls_descriptor_;
-}
-
-const RspGetCurrentCalls& RspGetCurrentCalls::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspGetCurrentCalls* RspGetCurrentCalls::default_instance_ = NULL;
-
-RspGetCurrentCalls* RspGetCurrentCalls::New() const {
-  return new RspGetCurrentCalls;
-}
-
-void RspGetCurrentCalls::Clear() {
-  calls_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspGetCurrentCalls::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // repeated .ril_proto.RilCall calls = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_calls:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_calls()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(10)) goto parse_calls;
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspGetCurrentCalls::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // repeated .ril_proto.RilCall calls = 1;
-  for (int i = 0; i < this->calls_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, this->calls(i), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspGetCurrentCalls::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // repeated .ril_proto.RilCall calls = 1;
-  for (int i = 0; i < this->calls_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        1, this->calls(i), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspGetCurrentCalls::ByteSize() const {
-  int total_size = 0;
-  
-  // repeated .ril_proto.RilCall calls = 1;
-  total_size += 1 * this->calls_size();
-  for (int i = 0; i < this->calls_size(); i++) {
-    total_size +=
-      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-        this->calls(i));
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspGetCurrentCalls::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspGetCurrentCalls* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspGetCurrentCalls*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspGetCurrentCalls::MergeFrom(const RspGetCurrentCalls& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  calls_.MergeFrom(from.calls_);
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspGetCurrentCalls::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspGetCurrentCalls::CopyFrom(const RspGetCurrentCalls& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspGetCurrentCalls::IsInitialized() const {
-  
-  return true;
-}
-
-void RspGetCurrentCalls::Swap(RspGetCurrentCalls* other) {
-  if (other != this) {
-    calls_.Swap(&other->calls_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspGetCurrentCalls::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspGetCurrentCalls_descriptor_;
-  metadata.reflection = RspGetCurrentCalls_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string ReqDial::_default_address_;
-#ifndef _MSC_VER
-const int ReqDial::kAddressFieldNumber;
-const int ReqDial::kClirFieldNumber;
-const int ReqDial::kUusInfoFieldNumber;
-#endif  // !_MSC_VER
-
-ReqDial::ReqDial()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void ReqDial::InitAsDefaultInstance() {
-  uus_info_ = const_cast< ::ril_proto::RilUusInfo*>(&::ril_proto::RilUusInfo::default_instance());
-}
-
-ReqDial::ReqDial(const ReqDial& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void ReqDial::SharedCtor() {
-  _cached_size_ = 0;
-  address_ = const_cast< ::std::string*>(&_default_address_);
-  clir_ = 0;
-  uus_info_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-ReqDial::~ReqDial() {
-  SharedDtor();
-}
-
-void ReqDial::SharedDtor() {
-  if (address_ != &_default_address_) {
-    delete address_;
-  }
-  if (this != default_instance_) {
-    delete uus_info_;
-  }
-}
-
-void ReqDial::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* ReqDial::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return ReqDial_descriptor_;
-}
-
-const ReqDial& ReqDial::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-ReqDial* ReqDial::default_instance_ = NULL;
-
-ReqDial* ReqDial::New() const {
-  return new ReqDial;
-}
-
-void ReqDial::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (_has_bit(0)) {
-      if (address_ != &_default_address_) {
-        address_->clear();
-      }
-    }
-    clir_ = 0;
-    if (_has_bit(2)) {
-      if (uus_info_ != NULL) uus_info_->::ril_proto::RilUusInfo::Clear();
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool ReqDial::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string address = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_address()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->address().data(), this->address().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_clir;
-        break;
-      }
-      
-      // optional int32 clir = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_clir:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &clir_)));
-          _set_bit(1);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_uus_info;
-        break;
-      }
-      
-      // optional .ril_proto.RilUusInfo uus_info = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_uus_info:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_uus_info()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void ReqDial::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional string address = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->address().data(), this->address().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->address(), output);
-  }
-  
-  // optional int32 clir = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->clir(), output);
-  }
-  
-  // optional .ril_proto.RilUusInfo uus_info = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, this->uus_info(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* ReqDial::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional string address = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->address().data(), this->address().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->address(), target);
-  }
-  
-  // optional int32 clir = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->clir(), target);
-  }
-  
-  // optional .ril_proto.RilUusInfo uus_info = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        3, this->uus_info(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int ReqDial::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional string address = 1;
-    if (has_address()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->address());
-    }
-    
-    // optional int32 clir = 2;
-    if (has_clir()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->clir());
-    }
-    
-    // optional .ril_proto.RilUusInfo uus_info = 3;
-    if (has_uus_info()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->uus_info());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ReqDial::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const ReqDial* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const ReqDial*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void ReqDial::MergeFrom(const ReqDial& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_address(from.address());
-    }
-    if (from._has_bit(1)) {
-      set_clir(from.clir());
-    }
-    if (from._has_bit(2)) {
-      mutable_uus_info()->::ril_proto::RilUusInfo::MergeFrom(from.uus_info());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void ReqDial::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void ReqDial::CopyFrom(const ReqDial& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ReqDial::IsInitialized() const {
-  
-  return true;
-}
-
-void ReqDial::Swap(ReqDial* other) {
-  if (other != this) {
-    std::swap(address_, other->address_);
-    std::swap(clir_, other->clir_);
-    std::swap(uus_info_, other->uus_info_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata ReqDial::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = ReqDial_descriptor_;
-  metadata.reflection = ReqDial_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int ReqHangUp::kConnectionIndexFieldNumber;
-#endif  // !_MSC_VER
-
-ReqHangUp::ReqHangUp()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void ReqHangUp::InitAsDefaultInstance() {
-}
-
-ReqHangUp::ReqHangUp(const ReqHangUp& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void ReqHangUp::SharedCtor() {
-  _cached_size_ = 0;
-  connection_index_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-ReqHangUp::~ReqHangUp() {
-  SharedDtor();
-}
-
-void ReqHangUp::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void ReqHangUp::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* ReqHangUp::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return ReqHangUp_descriptor_;
-}
-
-const ReqHangUp& ReqHangUp::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-ReqHangUp* ReqHangUp::default_instance_ = NULL;
-
-ReqHangUp* ReqHangUp::New() const {
-  return new ReqHangUp;
-}
-
-void ReqHangUp::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    connection_index_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool ReqHangUp::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required int32 connection_index = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &connection_index_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void ReqHangUp::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required int32 connection_index = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->connection_index(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* ReqHangUp::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required int32 connection_index = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->connection_index(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int ReqHangUp::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required int32 connection_index = 1;
-    if (has_connection_index()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->connection_index());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ReqHangUp::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const ReqHangUp* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const ReqHangUp*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void ReqHangUp::MergeFrom(const ReqHangUp& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_connection_index(from.connection_index());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void ReqHangUp::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void ReqHangUp::CopyFrom(const ReqHangUp& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ReqHangUp::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void ReqHangUp::Swap(ReqHangUp* other) {
-  if (other != this) {
-    std::swap(connection_index_, other->connection_index_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata ReqHangUp::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = ReqHangUp_descriptor_;
-  metadata.reflection = ReqHangUp_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RspLastCallFailCause::kLastCallFailCauseFieldNumber;
-#endif  // !_MSC_VER
-
-RspLastCallFailCause::RspLastCallFailCause()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspLastCallFailCause::InitAsDefaultInstance() {
-}
-
-RspLastCallFailCause::RspLastCallFailCause(const RspLastCallFailCause& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspLastCallFailCause::SharedCtor() {
-  _cached_size_ = 0;
-  last_call_fail_cause_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspLastCallFailCause::~RspLastCallFailCause() {
-  SharedDtor();
-}
-
-void RspLastCallFailCause::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void RspLastCallFailCause::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspLastCallFailCause::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspLastCallFailCause_descriptor_;
-}
-
-const RspLastCallFailCause& RspLastCallFailCause::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspLastCallFailCause* RspLastCallFailCause::default_instance_ = NULL;
-
-RspLastCallFailCause* RspLastCallFailCause::New() const {
-  return new RspLastCallFailCause;
-}
-
-void RspLastCallFailCause::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    last_call_fail_cause_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspLastCallFailCause::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required int32 last_call_fail_cause = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &last_call_fail_cause_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspLastCallFailCause::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required int32 last_call_fail_cause = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->last_call_fail_cause(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspLastCallFailCause::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required int32 last_call_fail_cause = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->last_call_fail_cause(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspLastCallFailCause::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required int32 last_call_fail_cause = 1;
-    if (has_last_call_fail_cause()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->last_call_fail_cause());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspLastCallFailCause::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspLastCallFailCause* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspLastCallFailCause*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspLastCallFailCause::MergeFrom(const RspLastCallFailCause& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_last_call_fail_cause(from.last_call_fail_cause());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspLastCallFailCause::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspLastCallFailCause::CopyFrom(const RspLastCallFailCause& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspLastCallFailCause::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void RspLastCallFailCause::Swap(RspLastCallFailCause* other) {
-  if (other != this) {
-    std::swap(last_call_fail_cause_, other->last_call_fail_cause_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspLastCallFailCause::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspLastCallFailCause_descriptor_;
-  metadata.reflection = RspLastCallFailCause_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int RspSignalStrength::kGwSignalstrengthFieldNumber;
-const int RspSignalStrength::kCdmaSignalstrengthFieldNumber;
-const int RspSignalStrength::kEvdoSignalstrengthFieldNumber;
-#endif  // !_MSC_VER
-
-RspSignalStrength::RspSignalStrength()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspSignalStrength::InitAsDefaultInstance() {
-  gw_signalstrength_ = const_cast< ::ril_proto::RILGWSignalStrength*>(&::ril_proto::RILGWSignalStrength::default_instance());
-  cdma_signalstrength_ = const_cast< ::ril_proto::RILCDMASignalStrength*>(&::ril_proto::RILCDMASignalStrength::default_instance());
-  evdo_signalstrength_ = const_cast< ::ril_proto::RILEVDOSignalStrength*>(&::ril_proto::RILEVDOSignalStrength::default_instance());
-}
-
-RspSignalStrength::RspSignalStrength(const RspSignalStrength& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspSignalStrength::SharedCtor() {
-  _cached_size_ = 0;
-  gw_signalstrength_ = NULL;
-  cdma_signalstrength_ = NULL;
-  evdo_signalstrength_ = NULL;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspSignalStrength::~RspSignalStrength() {
-  SharedDtor();
-}
-
-void RspSignalStrength::SharedDtor() {
-  if (this != default_instance_) {
-    delete gw_signalstrength_;
-    delete cdma_signalstrength_;
-    delete evdo_signalstrength_;
-  }
-}
-
-void RspSignalStrength::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspSignalStrength::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspSignalStrength_descriptor_;
-}
-
-const RspSignalStrength& RspSignalStrength::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspSignalStrength* RspSignalStrength::default_instance_ = NULL;
-
-RspSignalStrength* RspSignalStrength::New() const {
-  return new RspSignalStrength;
-}
-
-void RspSignalStrength::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (_has_bit(0)) {
-      if (gw_signalstrength_ != NULL) gw_signalstrength_->::ril_proto::RILGWSignalStrength::Clear();
-    }
-    if (_has_bit(1)) {
-      if (cdma_signalstrength_ != NULL) cdma_signalstrength_->::ril_proto::RILCDMASignalStrength::Clear();
-    }
-    if (_has_bit(2)) {
-      if (evdo_signalstrength_ != NULL) evdo_signalstrength_->::ril_proto::RILEVDOSignalStrength::Clear();
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspSignalStrength::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_gw_signalstrength()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(18)) goto parse_cdma_signalstrength;
-        break;
-      }
-      
-      // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_cdma_signalstrength:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_cdma_signalstrength()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_evdo_signalstrength;
-        break;
-      }
-      
-      // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_evdo_signalstrength:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-               input, mutable_evdo_signalstrength()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspSignalStrength::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      1, this->gw_signalstrength(), output);
-  }
-  
-  // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      2, this->cdma_signalstrength(), output);
-  }
-  
-  // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, this->evdo_signalstrength(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspSignalStrength::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        1, this->gw_signalstrength(), target);
-  }
-  
-  // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
-  if (_has_bit(1)) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        2, this->cdma_signalstrength(), target);
-  }
-  
-  // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
-  if (_has_bit(2)) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        3, this->evdo_signalstrength(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspSignalStrength::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
-    if (has_gw_signalstrength()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->gw_signalstrength());
-    }
-    
-    // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
-    if (has_cdma_signalstrength()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->cdma_signalstrength());
-    }
-    
-    // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
-    if (has_evdo_signalstrength()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-          this->evdo_signalstrength());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspSignalStrength::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspSignalStrength* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspSignalStrength*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspSignalStrength::MergeFrom(const RspSignalStrength& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      mutable_gw_signalstrength()->::ril_proto::RILGWSignalStrength::MergeFrom(from.gw_signalstrength());
-    }
-    if (from._has_bit(1)) {
-      mutable_cdma_signalstrength()->::ril_proto::RILCDMASignalStrength::MergeFrom(from.cdma_signalstrength());
-    }
-    if (from._has_bit(2)) {
-      mutable_evdo_signalstrength()->::ril_proto::RILEVDOSignalStrength::MergeFrom(from.evdo_signalstrength());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspSignalStrength::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspSignalStrength::CopyFrom(const RspSignalStrength& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspSignalStrength::IsInitialized() const {
-  
-  return true;
-}
-
-void RspSignalStrength::Swap(RspSignalStrength* other) {
-  if (other != this) {
-    std::swap(gw_signalstrength_, other->gw_signalstrength_);
-    std::swap(cdma_signalstrength_, other->cdma_signalstrength_);
-    std::swap(evdo_signalstrength_, other->evdo_signalstrength_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspSignalStrength::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspSignalStrength_descriptor_;
-  metadata.reflection = RspSignalStrength_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string RspOperator::_default_long_alpha_ons_;
-const ::std::string RspOperator::_default_short_alpha_ons_;
-const ::std::string RspOperator::_default_mcc_mnc_;
-#ifndef _MSC_VER
-const int RspOperator::kLongAlphaOnsFieldNumber;
-const int RspOperator::kShortAlphaOnsFieldNumber;
-const int RspOperator::kMccMncFieldNumber;
-#endif  // !_MSC_VER
-
-RspOperator::RspOperator()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void RspOperator::InitAsDefaultInstance() {
-}
-
-RspOperator::RspOperator(const RspOperator& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void RspOperator::SharedCtor() {
-  _cached_size_ = 0;
-  long_alpha_ons_ = const_cast< ::std::string*>(&_default_long_alpha_ons_);
-  short_alpha_ons_ = const_cast< ::std::string*>(&_default_short_alpha_ons_);
-  mcc_mnc_ = const_cast< ::std::string*>(&_default_mcc_mnc_);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-RspOperator::~RspOperator() {
-  SharedDtor();
-}
-
-void RspOperator::SharedDtor() {
-  if (long_alpha_ons_ != &_default_long_alpha_ons_) {
-    delete long_alpha_ons_;
-  }
-  if (short_alpha_ons_ != &_default_short_alpha_ons_) {
-    delete short_alpha_ons_;
-  }
-  if (mcc_mnc_ != &_default_mcc_mnc_) {
-    delete mcc_mnc_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void RspOperator::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* RspOperator::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return RspOperator_descriptor_;
-}
-
-const RspOperator& RspOperator::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-RspOperator* RspOperator::default_instance_ = NULL;
-
-RspOperator* RspOperator::New() const {
-  return new RspOperator;
-}
-
-void RspOperator::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (_has_bit(0)) {
-      if (long_alpha_ons_ != &_default_long_alpha_ons_) {
-        long_alpha_ons_->clear();
-      }
-    }
-    if (_has_bit(1)) {
-      if (short_alpha_ons_ != &_default_short_alpha_ons_) {
-        short_alpha_ons_->clear();
-      }
-    }
-    if (_has_bit(2)) {
-      if (mcc_mnc_ != &_default_mcc_mnc_) {
-        mcc_mnc_->clear();
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool RspOperator::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // optional string long_alpha_ons = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_long_alpha_ons()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->long_alpha_ons().data(), this->long_alpha_ons().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(18)) goto parse_short_alpha_ons;
-        break;
-      }
-      
-      // optional string short_alpha_ons = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_short_alpha_ons:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_short_alpha_ons()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->short_alpha_ons().data(), this->short_alpha_ons().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_mcc_mnc;
-        break;
-      }
-      
-      // optional string mcc_mnc = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_mcc_mnc:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_mcc_mnc()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->mcc_mnc().data(), this->mcc_mnc().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void RspOperator::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // optional string long_alpha_ons = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->long_alpha_ons().data(), this->long_alpha_ons().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->long_alpha_ons(), output);
-  }
-  
-  // optional string short_alpha_ons = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->short_alpha_ons().data(), this->short_alpha_ons().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      2, this->short_alpha_ons(), output);
-  }
-  
-  // optional string mcc_mnc = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->mcc_mnc().data(), this->mcc_mnc().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      3, this->mcc_mnc(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* RspOperator::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // optional string long_alpha_ons = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->long_alpha_ons().data(), this->long_alpha_ons().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->long_alpha_ons(), target);
-  }
-  
-  // optional string short_alpha_ons = 2;
-  if (_has_bit(1)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->short_alpha_ons().data(), this->short_alpha_ons().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        2, this->short_alpha_ons(), target);
-  }
-  
-  // optional string mcc_mnc = 3;
-  if (_has_bit(2)) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->mcc_mnc().data(), this->mcc_mnc().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        3, this->mcc_mnc(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int RspOperator::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // optional string long_alpha_ons = 1;
-    if (has_long_alpha_ons()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->long_alpha_ons());
-    }
-    
-    // optional string short_alpha_ons = 2;
-    if (has_short_alpha_ons()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->short_alpha_ons());
-    }
-    
-    // optional string mcc_mnc = 3;
-    if (has_mcc_mnc()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->mcc_mnc());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void RspOperator::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const RspOperator* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const RspOperator*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void RspOperator::MergeFrom(const RspOperator& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_long_alpha_ons(from.long_alpha_ons());
-    }
-    if (from._has_bit(1)) {
-      set_short_alpha_ons(from.short_alpha_ons());
-    }
-    if (from._has_bit(2)) {
-      set_mcc_mnc(from.mcc_mnc());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void RspOperator::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RspOperator::CopyFrom(const RspOperator& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RspOperator::IsInitialized() const {
-  
-  return true;
-}
-
-void RspOperator::Swap(RspOperator* other) {
-  if (other != this) {
-    std::swap(long_alpha_ons_, other->long_alpha_ons_);
-    std::swap(short_alpha_ons_, other->short_alpha_ons_);
-    std::swap(mcc_mnc_, other->mcc_mnc_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata RspOperator::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = RspOperator_descriptor_;
-  metadata.reflection = RspOperator_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int ReqSeparateConnection::kIndexFieldNumber;
-#endif  // !_MSC_VER
-
-ReqSeparateConnection::ReqSeparateConnection()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void ReqSeparateConnection::InitAsDefaultInstance() {
-}
-
-ReqSeparateConnection::ReqSeparateConnection(const ReqSeparateConnection& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void ReqSeparateConnection::SharedCtor() {
-  _cached_size_ = 0;
-  index_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-ReqSeparateConnection::~ReqSeparateConnection() {
-  SharedDtor();
-}
-
-void ReqSeparateConnection::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void ReqSeparateConnection::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* ReqSeparateConnection::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return ReqSeparateConnection_descriptor_;
-}
-
-const ReqSeparateConnection& ReqSeparateConnection::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-ReqSeparateConnection* ReqSeparateConnection::default_instance_ = NULL;
-
-ReqSeparateConnection* ReqSeparateConnection::New() const {
-  return new ReqSeparateConnection;
-}
-
-void ReqSeparateConnection::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    index_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool ReqSeparateConnection::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required int32 index = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &index_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void ReqSeparateConnection::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required int32 index = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->index(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* ReqSeparateConnection::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required int32 index = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->index(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int ReqSeparateConnection::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required int32 index = 1;
-    if (has_index()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->index());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ReqSeparateConnection::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const ReqSeparateConnection* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const ReqSeparateConnection*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void ReqSeparateConnection::MergeFrom(const ReqSeparateConnection& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_index(from.index());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void ReqSeparateConnection::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void ReqSeparateConnection::CopyFrom(const ReqSeparateConnection& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ReqSeparateConnection::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void ReqSeparateConnection::Swap(ReqSeparateConnection* other) {
-  if (other != this) {
-    std::swap(index_, other->index_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata ReqSeparateConnection::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = ReqSeparateConnection_descriptor_;
-  metadata.reflection = ReqSeparateConnection_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int ReqSetMute::kStateFieldNumber;
-#endif  // !_MSC_VER
-
-ReqSetMute::ReqSetMute()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void ReqSetMute::InitAsDefaultInstance() {
-}
-
-ReqSetMute::ReqSetMute(const ReqSetMute& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void ReqSetMute::SharedCtor() {
-  _cached_size_ = 0;
-  state_ = false;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-ReqSetMute::~ReqSetMute() {
-  SharedDtor();
-}
-
-void ReqSetMute::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void ReqSetMute::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* ReqSetMute::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return ReqSetMute_descriptor_;
-}
-
-const ReqSetMute& ReqSetMute::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-ReqSetMute* ReqSetMute::default_instance_ = NULL;
-
-ReqSetMute* ReqSetMute::New() const {
-  return new ReqSetMute;
-}
-
-void ReqSetMute::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    state_ = false;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool ReqSetMute::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required bool state = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &state_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void ReqSetMute::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required bool state = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->state(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* ReqSetMute::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required bool state = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->state(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int ReqSetMute::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required bool state = 1;
-    if (has_state()) {
-      total_size += 1 + 1;
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ReqSetMute::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const ReqSetMute* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const ReqSetMute*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void ReqSetMute::MergeFrom(const ReqSetMute& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_state(from.state());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void ReqSetMute::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void ReqSetMute::CopyFrom(const ReqSetMute& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ReqSetMute::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void ReqSetMute::Swap(ReqSetMute* other) {
-  if (other != this) {
-    std::swap(state_, other->state_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata ReqSetMute::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = ReqSetMute_descriptor_;
-  metadata.reflection = ReqSetMute_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int ReqScreenState::kStateFieldNumber;
-#endif  // !_MSC_VER
-
-ReqScreenState::ReqScreenState()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void ReqScreenState::InitAsDefaultInstance() {
-}
-
-ReqScreenState::ReqScreenState(const ReqScreenState& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void ReqScreenState::SharedCtor() {
-  _cached_size_ = 0;
-  state_ = false;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-ReqScreenState::~ReqScreenState() {
-  SharedDtor();
-}
-
-void ReqScreenState::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void ReqScreenState::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* ReqScreenState::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return ReqScreenState_descriptor_;
-}
-
-const ReqScreenState& ReqScreenState::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ril_2eproto();  return *default_instance_;
-}
-
-ReqScreenState* ReqScreenState::default_instance_ = NULL;
-
-ReqScreenState* ReqScreenState::New() const {
-  return new ReqScreenState;
-}
-
-void ReqScreenState::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    state_ = false;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool ReqScreenState::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required bool state = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &state_)));
-          _set_bit(0);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void ReqScreenState::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required bool state = 1;
-  if (_has_bit(0)) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->state(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* ReqScreenState::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required bool state = 1;
-  if (_has_bit(0)) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->state(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int ReqScreenState::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required bool state = 1;
-    if (has_state()) {
-      total_size += 1 + 1;
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void ReqScreenState::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const ReqScreenState* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const ReqScreenState*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void ReqScreenState::MergeFrom(const ReqScreenState& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from._has_bit(0)) {
-      set_state(from.state());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void ReqScreenState::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void ReqScreenState::CopyFrom(const ReqScreenState& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ReqScreenState::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void ReqScreenState::Swap(ReqScreenState* other) {
-  if (other != this) {
-    std::swap(state_, other->state_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata ReqScreenState::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = ReqScreenState_descriptor_;
-  metadata.reflection = ReqScreenState_reflection_;
-  return metadata;
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace ril_proto
-
-// @@protoc_insertion_point(global_scope)
diff --git a/mock-ril/src/generated/cpp/ril.pb.h b/mock-ril/src/generated/cpp/ril.pb.h
deleted file mode 100644
index b7e9fc2..0000000
--- a/mock-ril/src/generated/cpp/ril.pb.h
+++ /dev/null
@@ -1,3910 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: ril.proto
-
-#ifndef PROTOBUF_ril_2eproto__INCLUDED
-#define PROTOBUF_ril_2eproto__INCLUDED
-
-#include <string>
-
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 2003000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
-#error your headers.
-#endif
-#if 2003000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/repeated_field.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/generated_message_reflection.h>
-// @@protoc_insertion_point(includes)
-
-namespace ril_proto {
-
-// Internal implementation detail -- do not call these.
-void  protobuf_AddDesc_ril_2eproto();
-void protobuf_AssignDesc_ril_2eproto();
-void protobuf_ShutdownFile_ril_2eproto();
-
-class RilAppStatus;
-class RilCardStatus;
-class RilUusInfo;
-class RilCall;
-class RILGWSignalStrength;
-class RILCDMASignalStrength;
-class RILEVDOSignalStrength;
-class RspStrings;
-class RspIntegers;
-class RspGetSimStatus;
-class ReqEnterSimPin;
-class RspEnterSimPin;
-class RspGetCurrentCalls;
-class ReqDial;
-class ReqHangUp;
-class RspLastCallFailCause;
-class RspSignalStrength;
-class RspOperator;
-class ReqSeparateConnection;
-class ReqSetMute;
-class ReqScreenState;
-
-enum RadioState {
-  RADIOSTATE_OFF = 0,
-  RADIOSTATE_UNAVAILABLE = 1,
-  RADIOSTATE_SIM_NOT_READY = 2,
-  RADIOSTATE_SIM_LOCKED_OR_ABSENT = 3,
-  RADIOSTATE_SIM_READY = 4,
-  RADIOSTATE_RUIM_NOT_READY = 5,
-  RADIOSTATE_RUIM_READY = 6,
-  RADIOSTATE_RUIM_LOCKED_OR_ABSENT = 7,
-  RADIOSTATE_NV_NOT_READY = 8,
-  RADIOSTATE_NV_READY = 9
-};
-bool RadioState_IsValid(int value);
-const RadioState RadioState_MIN = RADIOSTATE_OFF;
-const RadioState RadioState_MAX = RADIOSTATE_NV_READY;
-const int RadioState_ARRAYSIZE = RadioState_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RadioState_descriptor();
-inline const ::std::string& RadioState_Name(RadioState value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RadioState_descriptor(), value);
-}
-inline bool RadioState_Parse(
-    const ::std::string& name, RadioState* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RadioState>(
-    RadioState_descriptor(), name, value);
-}
-enum RilCardState {
-  CARDSTATE_ABSENT = 0,
-  CARDSTATE_PRESENT = 1,
-  CARDSTATE_ERROR = 2
-};
-bool RilCardState_IsValid(int value);
-const RilCardState RilCardState_MIN = CARDSTATE_ABSENT;
-const RilCardState RilCardState_MAX = CARDSTATE_ERROR;
-const int RilCardState_ARRAYSIZE = RilCardState_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilCardState_descriptor();
-inline const ::std::string& RilCardState_Name(RilCardState value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilCardState_descriptor(), value);
-}
-inline bool RilCardState_Parse(
-    const ::std::string& name, RilCardState* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilCardState>(
-    RilCardState_descriptor(), name, value);
-}
-enum RilPersoSubstate {
-  PERSOSUBSTATE_UNKNOWN = 0,
-  PERSOSUBSTATE_IN_PROGRESS = 1,
-  PERSOSUBSTATE_READY = 2,
-  PERSOSUBSTATE_SIM_NETWORK = 3,
-  PERSOSUBSTATE_SIM_NETWORK_SUBSET = 4,
-  PERSOSUBSTATE_SIM_CORPORATE = 5,
-  PERSOSUBSTATE_SIM_SERVICE_PROVIDER = 6,
-  PERSOSUBSTATE_SIM_SIM = 7,
-  PERSOSUBSTATE_SIM_NETWORK_PUK = 8,
-  PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK = 9,
-  PERSOSUBSTATE_SIM_CORPORATE_PUK = 10,
-  PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK = 11,
-  PERSOSUBSTATE_SIM_SIM_PUK = 12,
-  PERSOSUBSTATE_RUIM_NETWORK1 = 13,
-  PERSOSUBSTATE_RUIM_NETWORK2 = 14,
-  PERSOSUBSTATE_RUIM_HRPD = 15,
-  PERSOSUBSTATE_RUIM_CORPORATE = 16,
-  PERSOSUBSTATE_RUIM_SERVICE_PROVIDER = 17,
-  PERSOSUBSTATE_RUIM_RUIM = 18,
-  PERSOSUBSTATE_RUIM_NETWORK1_PUK = 19,
-  PERSOSUBSTATE_RUIM_NETWORK2_PUK = 20,
-  PERSOSUBSTATE_RUIM_HRPD_PUK = 21,
-  PERSOSUBSTATE_RUIM_CORPORATE_PUK = 22,
-  PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK = 23,
-  PERSOSUBSTATE_RUIM_RUIM_PUK = 24
-};
-bool RilPersoSubstate_IsValid(int value);
-const RilPersoSubstate RilPersoSubstate_MIN = PERSOSUBSTATE_UNKNOWN;
-const RilPersoSubstate RilPersoSubstate_MAX = PERSOSUBSTATE_RUIM_RUIM_PUK;
-const int RilPersoSubstate_ARRAYSIZE = RilPersoSubstate_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilPersoSubstate_descriptor();
-inline const ::std::string& RilPersoSubstate_Name(RilPersoSubstate value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilPersoSubstate_descriptor(), value);
-}
-inline bool RilPersoSubstate_Parse(
-    const ::std::string& name, RilPersoSubstate* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilPersoSubstate>(
-    RilPersoSubstate_descriptor(), name, value);
-}
-enum RilAppState {
-  APPSTATE_UNKNOWN = 0,
-  APPSTATE_DETECTED = 1,
-  APPSTATE_PIN = 2,
-  APPSTATE_PUK = 3,
-  APPSTATE_SUBSCRIPTION_PERSO = 4,
-  APPSTATE_READY = 5
-};
-bool RilAppState_IsValid(int value);
-const RilAppState RilAppState_MIN = APPSTATE_UNKNOWN;
-const RilAppState RilAppState_MAX = APPSTATE_READY;
-const int RilAppState_ARRAYSIZE = RilAppState_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilAppState_descriptor();
-inline const ::std::string& RilAppState_Name(RilAppState value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilAppState_descriptor(), value);
-}
-inline bool RilAppState_Parse(
-    const ::std::string& name, RilAppState* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilAppState>(
-    RilAppState_descriptor(), name, value);
-}
-enum RilPinState {
-  PINSTATE_UNKNOWN = 0,
-  PINSTATE_ENABLED_NOT_VERIFIED = 1,
-  PINSTATE_ENABLED_VERIFIED = 2,
-  PINSTATE_DISABLED = 3,
-  PINSTATE_ENABLED_BLOCKED = 4,
-  PINSTATE_ENABLED_PERM_BLOCKED = 5
-};
-bool RilPinState_IsValid(int value);
-const RilPinState RilPinState_MIN = PINSTATE_UNKNOWN;
-const RilPinState RilPinState_MAX = PINSTATE_ENABLED_PERM_BLOCKED;
-const int RilPinState_ARRAYSIZE = RilPinState_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilPinState_descriptor();
-inline const ::std::string& RilPinState_Name(RilPinState value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilPinState_descriptor(), value);
-}
-inline bool RilPinState_Parse(
-    const ::std::string& name, RilPinState* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilPinState>(
-    RilPinState_descriptor(), name, value);
-}
-enum RilAppType {
-  APPTYPE_UNKNOWN = 0,
-  APPTYPE_SIM = 1,
-  APPTYPE_USIM = 2,
-  APPTYPE_RUIM = 3,
-  APPTYPE_CSIM = 4
-};
-bool RilAppType_IsValid(int value);
-const RilAppType RilAppType_MIN = APPTYPE_UNKNOWN;
-const RilAppType RilAppType_MAX = APPTYPE_CSIM;
-const int RilAppType_ARRAYSIZE = RilAppType_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilAppType_descriptor();
-inline const ::std::string& RilAppType_Name(RilAppType value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilAppType_descriptor(), value);
-}
-inline bool RilAppType_Parse(
-    const ::std::string& name, RilAppType* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilAppType>(
-    RilAppType_descriptor(), name, value);
-}
-enum RilUusType {
-  RILUUSTYPE1_IMPLICIT = 0,
-  RILUUSTYPE1_REQUIRED = 1,
-  RILUUSTYPE1_NOT_REQUIRED = 2,
-  RILUUSTYPE2_REQUIRED = 3,
-  RILUUSTYPE2_NOT_REQUIRED = 4,
-  RILUUSTYPE3_REQUIRED = 5,
-  RILUUSTYPE3_NOT_REQUIRED = 6
-};
-bool RilUusType_IsValid(int value);
-const RilUusType RilUusType_MIN = RILUUSTYPE1_IMPLICIT;
-const RilUusType RilUusType_MAX = RILUUSTYPE3_NOT_REQUIRED;
-const int RilUusType_ARRAYSIZE = RilUusType_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilUusType_descriptor();
-inline const ::std::string& RilUusType_Name(RilUusType value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilUusType_descriptor(), value);
-}
-inline bool RilUusType_Parse(
-    const ::std::string& name, RilUusType* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilUusType>(
-    RilUusType_descriptor(), name, value);
-}
-enum RilUusDcs {
-  RILUUSDCS_USP = 0,
-  RILUUSDCS_OSIHLP = 1,
-  RILUUSDCS_X244 = 2,
-  RILUUSDCS_RMCF = 3,
-  RILUUSDCS_IA5c = 4
-};
-bool RilUusDcs_IsValid(int value);
-const RilUusDcs RilUusDcs_MIN = RILUUSDCS_USP;
-const RilUusDcs RilUusDcs_MAX = RILUUSDCS_IA5c;
-const int RilUusDcs_ARRAYSIZE = RilUusDcs_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilUusDcs_descriptor();
-inline const ::std::string& RilUusDcs_Name(RilUusDcs value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilUusDcs_descriptor(), value);
-}
-inline bool RilUusDcs_Parse(
-    const ::std::string& name, RilUusDcs* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilUusDcs>(
-    RilUusDcs_descriptor(), name, value);
-}
-enum RilCallState {
-  CALLSTATE_ACTIVE = 0,
-  CALLSTATE_HOLDING = 1,
-  CALLSTATE_DIALING = 2,
-  CALLSTATE_ALERTING = 3,
-  CALLSTATE_INCOMING = 4,
-  CALLSTATE_WAITING = 5
-};
-bool RilCallState_IsValid(int value);
-const RilCallState RilCallState_MIN = CALLSTATE_ACTIVE;
-const RilCallState RilCallState_MAX = CALLSTATE_WAITING;
-const int RilCallState_ARRAYSIZE = RilCallState_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* RilCallState_descriptor();
-inline const ::std::string& RilCallState_Name(RilCallState value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    RilCallState_descriptor(), value);
-}
-inline bool RilCallState_Parse(
-    const ::std::string& name, RilCallState* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<RilCallState>(
-    RilCallState_descriptor(), name, value);
-}
-// ===================================================================
-
-class RilAppStatus : public ::google::protobuf::Message {
- public:
-  RilAppStatus();
-  virtual ~RilAppStatus();
-  
-  RilAppStatus(const RilAppStatus& from);
-  
-  inline RilAppStatus& operator=(const RilAppStatus& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RilAppStatus& default_instance();
-  
-  void Swap(RilAppStatus* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RilAppStatus* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RilAppStatus& from);
-  void MergeFrom(const RilAppStatus& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional .ril_proto.RilAppType app_type = 1;
-  inline bool has_app_type() const;
-  inline void clear_app_type();
-  static const int kAppTypeFieldNumber = 1;
-  inline ril_proto::RilAppType app_type() const;
-  inline void set_app_type(ril_proto::RilAppType value);
-  
-  // optional .ril_proto.RilAppState app_state = 2;
-  inline bool has_app_state() const;
-  inline void clear_app_state();
-  static const int kAppStateFieldNumber = 2;
-  inline ril_proto::RilAppState app_state() const;
-  inline void set_app_state(ril_proto::RilAppState value);
-  
-  // optional .ril_proto.RilPersoSubstate perso_substate = 3;
-  inline bool has_perso_substate() const;
-  inline void clear_perso_substate();
-  static const int kPersoSubstateFieldNumber = 3;
-  inline ril_proto::RilPersoSubstate perso_substate() const;
-  inline void set_perso_substate(ril_proto::RilPersoSubstate value);
-  
-  // optional string aid = 4;
-  inline bool has_aid() const;
-  inline void clear_aid();
-  static const int kAidFieldNumber = 4;
-  inline const ::std::string& aid() const;
-  inline void set_aid(const ::std::string& value);
-  inline void set_aid(const char* value);
-  inline void set_aid(const char* value, size_t size);
-  inline ::std::string* mutable_aid();
-  
-  // optional string app_label = 5;
-  inline bool has_app_label() const;
-  inline void clear_app_label();
-  static const int kAppLabelFieldNumber = 5;
-  inline const ::std::string& app_label() const;
-  inline void set_app_label(const ::std::string& value);
-  inline void set_app_label(const char* value);
-  inline void set_app_label(const char* value, size_t size);
-  inline ::std::string* mutable_app_label();
-  
-  // optional int32 pin1_replaced = 6;
-  inline bool has_pin1_replaced() const;
-  inline void clear_pin1_replaced();
-  static const int kPin1ReplacedFieldNumber = 6;
-  inline ::google::protobuf::int32 pin1_replaced() const;
-  inline void set_pin1_replaced(::google::protobuf::int32 value);
-  
-  // optional .ril_proto.RilPinState pin1 = 7;
-  inline bool has_pin1() const;
-  inline void clear_pin1();
-  static const int kPin1FieldNumber = 7;
-  inline ril_proto::RilPinState pin1() const;
-  inline void set_pin1(ril_proto::RilPinState value);
-  
-  // optional .ril_proto.RilPinState pin2 = 8;
-  inline bool has_pin2() const;
-  inline void clear_pin2();
-  static const int kPin2FieldNumber = 8;
-  inline ril_proto::RilPinState pin2() const;
-  inline void set_pin2(ril_proto::RilPinState value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RilAppStatus)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  int app_type_;
-  int app_state_;
-  int perso_substate_;
-  ::std::string* aid_;
-  static const ::std::string _default_aid_;
-  ::std::string* app_label_;
-  static const ::std::string _default_app_label_;
-  ::google::protobuf::int32 pin1_replaced_;
-  int pin1_;
-  int pin2_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RilAppStatus* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RilCardStatus : public ::google::protobuf::Message {
- public:
-  RilCardStatus();
-  virtual ~RilCardStatus();
-  
-  RilCardStatus(const RilCardStatus& from);
-  
-  inline RilCardStatus& operator=(const RilCardStatus& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RilCardStatus& default_instance();
-  
-  void Swap(RilCardStatus* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RilCardStatus* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RilCardStatus& from);
-  void MergeFrom(const RilCardStatus& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional .ril_proto.RilCardState card_state = 1;
-  inline bool has_card_state() const;
-  inline void clear_card_state();
-  static const int kCardStateFieldNumber = 1;
-  inline ril_proto::RilCardState card_state() const;
-  inline void set_card_state(ril_proto::RilCardState value);
-  
-  // optional .ril_proto.RilPinState universal_pin_state = 2;
-  inline bool has_universal_pin_state() const;
-  inline void clear_universal_pin_state();
-  static const int kUniversalPinStateFieldNumber = 2;
-  inline ril_proto::RilPinState universal_pin_state() const;
-  inline void set_universal_pin_state(ril_proto::RilPinState value);
-  
-  // optional int32 gsm_umts_subscription_app_index = 3;
-  inline bool has_gsm_umts_subscription_app_index() const;
-  inline void clear_gsm_umts_subscription_app_index();
-  static const int kGsmUmtsSubscriptionAppIndexFieldNumber = 3;
-  inline ::google::protobuf::int32 gsm_umts_subscription_app_index() const;
-  inline void set_gsm_umts_subscription_app_index(::google::protobuf::int32 value);
-  
-  // optional int32 cdma_subscription_app_index = 4;
-  inline bool has_cdma_subscription_app_index() const;
-  inline void clear_cdma_subscription_app_index();
-  static const int kCdmaSubscriptionAppIndexFieldNumber = 4;
-  inline ::google::protobuf::int32 cdma_subscription_app_index() const;
-  inline void set_cdma_subscription_app_index(::google::protobuf::int32 value);
-  
-  // optional int32 num_applications = 5;
-  inline bool has_num_applications() const;
-  inline void clear_num_applications();
-  static const int kNumApplicationsFieldNumber = 5;
-  inline ::google::protobuf::int32 num_applications() const;
-  inline void set_num_applications(::google::protobuf::int32 value);
-  
-  // repeated .ril_proto.RilAppStatus applications = 6;
-  inline int applications_size() const;
-  inline void clear_applications();
-  static const int kApplicationsFieldNumber = 6;
-  inline const ::ril_proto::RilAppStatus& applications(int index) const;
-  inline ::ril_proto::RilAppStatus* mutable_applications(int index);
-  inline ::ril_proto::RilAppStatus* add_applications();
-  inline const ::google::protobuf::RepeatedPtrField< ::ril_proto::RilAppStatus >&
-      applications() const;
-  inline ::google::protobuf::RepeatedPtrField< ::ril_proto::RilAppStatus >*
-      mutable_applications();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RilCardStatus)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  int card_state_;
-  int universal_pin_state_;
-  ::google::protobuf::int32 gsm_umts_subscription_app_index_;
-  ::google::protobuf::int32 cdma_subscription_app_index_;
-  ::google::protobuf::int32 num_applications_;
-  ::google::protobuf::RepeatedPtrField< ::ril_proto::RilAppStatus > applications_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RilCardStatus* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RilUusInfo : public ::google::protobuf::Message {
- public:
-  RilUusInfo();
-  virtual ~RilUusInfo();
-  
-  RilUusInfo(const RilUusInfo& from);
-  
-  inline RilUusInfo& operator=(const RilUusInfo& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RilUusInfo& default_instance();
-  
-  void Swap(RilUusInfo* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RilUusInfo* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RilUusInfo& from);
-  void MergeFrom(const RilUusInfo& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional .ril_proto.RilUusType uus_type = 1;
-  inline bool has_uus_type() const;
-  inline void clear_uus_type();
-  static const int kUusTypeFieldNumber = 1;
-  inline ril_proto::RilUusType uus_type() const;
-  inline void set_uus_type(ril_proto::RilUusType value);
-  
-  // optional .ril_proto.RilUusDcs uus_dcs = 2;
-  inline bool has_uus_dcs() const;
-  inline void clear_uus_dcs();
-  static const int kUusDcsFieldNumber = 2;
-  inline ril_proto::RilUusDcs uus_dcs() const;
-  inline void set_uus_dcs(ril_proto::RilUusDcs value);
-  
-  // optional int32 uus_length = 3;
-  inline bool has_uus_length() const;
-  inline void clear_uus_length();
-  static const int kUusLengthFieldNumber = 3;
-  inline ::google::protobuf::int32 uus_length() const;
-  inline void set_uus_length(::google::protobuf::int32 value);
-  
-  // optional string uus_data = 4;
-  inline bool has_uus_data() const;
-  inline void clear_uus_data();
-  static const int kUusDataFieldNumber = 4;
-  inline const ::std::string& uus_data() const;
-  inline void set_uus_data(const ::std::string& value);
-  inline void set_uus_data(const char* value);
-  inline void set_uus_data(const char* value, size_t size);
-  inline ::std::string* mutable_uus_data();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RilUusInfo)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  int uus_type_;
-  int uus_dcs_;
-  ::google::protobuf::int32 uus_length_;
-  ::std::string* uus_data_;
-  static const ::std::string _default_uus_data_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RilUusInfo* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RilCall : public ::google::protobuf::Message {
- public:
-  RilCall();
-  virtual ~RilCall();
-  
-  RilCall(const RilCall& from);
-  
-  inline RilCall& operator=(const RilCall& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RilCall& default_instance();
-  
-  void Swap(RilCall* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RilCall* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RilCall& from);
-  void MergeFrom(const RilCall& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional .ril_proto.RilCallState state = 1;
-  inline bool has_state() const;
-  inline void clear_state();
-  static const int kStateFieldNumber = 1;
-  inline ril_proto::RilCallState state() const;
-  inline void set_state(ril_proto::RilCallState value);
-  
-  // optional int32 index = 2;
-  inline bool has_index() const;
-  inline void clear_index();
-  static const int kIndexFieldNumber = 2;
-  inline ::google::protobuf::int32 index() const;
-  inline void set_index(::google::protobuf::int32 value);
-  
-  // optional int32 toa = 3;
-  inline bool has_toa() const;
-  inline void clear_toa();
-  static const int kToaFieldNumber = 3;
-  inline ::google::protobuf::int32 toa() const;
-  inline void set_toa(::google::protobuf::int32 value);
-  
-  // optional bool is_mpty = 4;
-  inline bool has_is_mpty() const;
-  inline void clear_is_mpty();
-  static const int kIsMptyFieldNumber = 4;
-  inline bool is_mpty() const;
-  inline void set_is_mpty(bool value);
-  
-  // optional bool is_mt = 5;
-  inline bool has_is_mt() const;
-  inline void clear_is_mt();
-  static const int kIsMtFieldNumber = 5;
-  inline bool is_mt() const;
-  inline void set_is_mt(bool value);
-  
-  // optional int32 als = 6;
-  inline bool has_als() const;
-  inline void clear_als();
-  static const int kAlsFieldNumber = 6;
-  inline ::google::protobuf::int32 als() const;
-  inline void set_als(::google::protobuf::int32 value);
-  
-  // optional bool is_voice = 7;
-  inline bool has_is_voice() const;
-  inline void clear_is_voice();
-  static const int kIsVoiceFieldNumber = 7;
-  inline bool is_voice() const;
-  inline void set_is_voice(bool value);
-  
-  // optional bool is_voice_privacy = 8;
-  inline bool has_is_voice_privacy() const;
-  inline void clear_is_voice_privacy();
-  static const int kIsVoicePrivacyFieldNumber = 8;
-  inline bool is_voice_privacy() const;
-  inline void set_is_voice_privacy(bool value);
-  
-  // optional string number = 9;
-  inline bool has_number() const;
-  inline void clear_number();
-  static const int kNumberFieldNumber = 9;
-  inline const ::std::string& number() const;
-  inline void set_number(const ::std::string& value);
-  inline void set_number(const char* value);
-  inline void set_number(const char* value, size_t size);
-  inline ::std::string* mutable_number();
-  
-  // optional int32 number_presentation = 10;
-  inline bool has_number_presentation() const;
-  inline void clear_number_presentation();
-  static const int kNumberPresentationFieldNumber = 10;
-  inline ::google::protobuf::int32 number_presentation() const;
-  inline void set_number_presentation(::google::protobuf::int32 value);
-  
-  // optional string name = 11;
-  inline bool has_name() const;
-  inline void clear_name();
-  static const int kNameFieldNumber = 11;
-  inline const ::std::string& name() const;
-  inline void set_name(const ::std::string& value);
-  inline void set_name(const char* value);
-  inline void set_name(const char* value, size_t size);
-  inline ::std::string* mutable_name();
-  
-  // optional int32 name_presentation = 12;
-  inline bool has_name_presentation() const;
-  inline void clear_name_presentation();
-  static const int kNamePresentationFieldNumber = 12;
-  inline ::google::protobuf::int32 name_presentation() const;
-  inline void set_name_presentation(::google::protobuf::int32 value);
-  
-  // optional .ril_proto.RilUusInfo uus_info = 13;
-  inline bool has_uus_info() const;
-  inline void clear_uus_info();
-  static const int kUusInfoFieldNumber = 13;
-  inline const ::ril_proto::RilUusInfo& uus_info() const;
-  inline ::ril_proto::RilUusInfo* mutable_uus_info();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RilCall)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  int state_;
-  ::google::protobuf::int32 index_;
-  ::google::protobuf::int32 toa_;
-  bool is_mpty_;
-  bool is_mt_;
-  ::google::protobuf::int32 als_;
-  bool is_voice_;
-  bool is_voice_privacy_;
-  ::std::string* number_;
-  static const ::std::string _default_number_;
-  ::google::protobuf::int32 number_presentation_;
-  ::std::string* name_;
-  static const ::std::string _default_name_;
-  ::google::protobuf::int32 name_presentation_;
-  ::ril_proto::RilUusInfo* uus_info_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(13 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RilCall* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RILGWSignalStrength : public ::google::protobuf::Message {
- public:
-  RILGWSignalStrength();
-  virtual ~RILGWSignalStrength();
-  
-  RILGWSignalStrength(const RILGWSignalStrength& from);
-  
-  inline RILGWSignalStrength& operator=(const RILGWSignalStrength& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RILGWSignalStrength& default_instance();
-  
-  void Swap(RILGWSignalStrength* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RILGWSignalStrength* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RILGWSignalStrength& from);
-  void MergeFrom(const RILGWSignalStrength& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional int32 signal_strength = 1;
-  inline bool has_signal_strength() const;
-  inline void clear_signal_strength();
-  static const int kSignalStrengthFieldNumber = 1;
-  inline ::google::protobuf::int32 signal_strength() const;
-  inline void set_signal_strength(::google::protobuf::int32 value);
-  
-  // optional int32 bit_error_rate = 2;
-  inline bool has_bit_error_rate() const;
-  inline void clear_bit_error_rate();
-  static const int kBitErrorRateFieldNumber = 2;
-  inline ::google::protobuf::int32 bit_error_rate() const;
-  inline void set_bit_error_rate(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RILGWSignalStrength)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 signal_strength_;
-  ::google::protobuf::int32 bit_error_rate_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RILGWSignalStrength* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RILCDMASignalStrength : public ::google::protobuf::Message {
- public:
-  RILCDMASignalStrength();
-  virtual ~RILCDMASignalStrength();
-  
-  RILCDMASignalStrength(const RILCDMASignalStrength& from);
-  
-  inline RILCDMASignalStrength& operator=(const RILCDMASignalStrength& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RILCDMASignalStrength& default_instance();
-  
-  void Swap(RILCDMASignalStrength* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RILCDMASignalStrength* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RILCDMASignalStrength& from);
-  void MergeFrom(const RILCDMASignalStrength& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional int32 dbm = 1;
-  inline bool has_dbm() const;
-  inline void clear_dbm();
-  static const int kDbmFieldNumber = 1;
-  inline ::google::protobuf::int32 dbm() const;
-  inline void set_dbm(::google::protobuf::int32 value);
-  
-  // optional int32 ecio = 2;
-  inline bool has_ecio() const;
-  inline void clear_ecio();
-  static const int kEcioFieldNumber = 2;
-  inline ::google::protobuf::int32 ecio() const;
-  inline void set_ecio(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RILCDMASignalStrength)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 dbm_;
-  ::google::protobuf::int32 ecio_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RILCDMASignalStrength* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RILEVDOSignalStrength : public ::google::protobuf::Message {
- public:
-  RILEVDOSignalStrength();
-  virtual ~RILEVDOSignalStrength();
-  
-  RILEVDOSignalStrength(const RILEVDOSignalStrength& from);
-  
-  inline RILEVDOSignalStrength& operator=(const RILEVDOSignalStrength& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RILEVDOSignalStrength& default_instance();
-  
-  void Swap(RILEVDOSignalStrength* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RILEVDOSignalStrength* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RILEVDOSignalStrength& from);
-  void MergeFrom(const RILEVDOSignalStrength& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional int32 dbm = 1;
-  inline bool has_dbm() const;
-  inline void clear_dbm();
-  static const int kDbmFieldNumber = 1;
-  inline ::google::protobuf::int32 dbm() const;
-  inline void set_dbm(::google::protobuf::int32 value);
-  
-  // optional int32 ecio = 2;
-  inline bool has_ecio() const;
-  inline void clear_ecio();
-  static const int kEcioFieldNumber = 2;
-  inline ::google::protobuf::int32 ecio() const;
-  inline void set_ecio(::google::protobuf::int32 value);
-  
-  // optional int32 signal_noise_ratio = 3;
-  inline bool has_signal_noise_ratio() const;
-  inline void clear_signal_noise_ratio();
-  static const int kSignalNoiseRatioFieldNumber = 3;
-  inline ::google::protobuf::int32 signal_noise_ratio() const;
-  inline void set_signal_noise_ratio(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RILEVDOSignalStrength)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 dbm_;
-  ::google::protobuf::int32 ecio_;
-  ::google::protobuf::int32 signal_noise_ratio_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RILEVDOSignalStrength* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspStrings : public ::google::protobuf::Message {
- public:
-  RspStrings();
-  virtual ~RspStrings();
-  
-  RspStrings(const RspStrings& from);
-  
-  inline RspStrings& operator=(const RspStrings& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspStrings& default_instance();
-  
-  void Swap(RspStrings* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspStrings* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspStrings& from);
-  void MergeFrom(const RspStrings& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // repeated string strings = 1;
-  inline int strings_size() const;
-  inline void clear_strings();
-  static const int kStringsFieldNumber = 1;
-  inline const ::std::string& strings(int index) const;
-  inline ::std::string* mutable_strings(int index);
-  inline void set_strings(int index, const ::std::string& value);
-  inline void set_strings(int index, const char* value);
-  inline void set_strings(int index, const char* value, size_t size);
-  inline ::std::string* add_strings();
-  inline void add_strings(const ::std::string& value);
-  inline void add_strings(const char* value);
-  inline void add_strings(const char* value, size_t size);
-  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& strings() const;
-  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_strings();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspStrings)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::RepeatedPtrField< ::std::string> strings_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspStrings* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspIntegers : public ::google::protobuf::Message {
- public:
-  RspIntegers();
-  virtual ~RspIntegers();
-  
-  RspIntegers(const RspIntegers& from);
-  
-  inline RspIntegers& operator=(const RspIntegers& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspIntegers& default_instance();
-  
-  void Swap(RspIntegers* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspIntegers* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspIntegers& from);
-  void MergeFrom(const RspIntegers& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // repeated int32 integers = 1;
-  inline int integers_size() const;
-  inline void clear_integers();
-  static const int kIntegersFieldNumber = 1;
-  inline ::google::protobuf::int32 integers(int index) const;
-  inline void set_integers(int index, ::google::protobuf::int32 value);
-  inline void add_integers(::google::protobuf::int32 value);
-  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
-      integers() const;
-  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
-      mutable_integers();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspIntegers)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > integers_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspIntegers* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspGetSimStatus : public ::google::protobuf::Message {
- public:
-  RspGetSimStatus();
-  virtual ~RspGetSimStatus();
-  
-  RspGetSimStatus(const RspGetSimStatus& from);
-  
-  inline RspGetSimStatus& operator=(const RspGetSimStatus& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspGetSimStatus& default_instance();
-  
-  void Swap(RspGetSimStatus* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspGetSimStatus* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspGetSimStatus& from);
-  void MergeFrom(const RspGetSimStatus& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required .ril_proto.RilCardStatus card_status = 1;
-  inline bool has_card_status() const;
-  inline void clear_card_status();
-  static const int kCardStatusFieldNumber = 1;
-  inline const ::ril_proto::RilCardStatus& card_status() const;
-  inline ::ril_proto::RilCardStatus* mutable_card_status();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspGetSimStatus)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::ril_proto::RilCardStatus* card_status_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspGetSimStatus* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class ReqEnterSimPin : public ::google::protobuf::Message {
- public:
-  ReqEnterSimPin();
-  virtual ~ReqEnterSimPin();
-  
-  ReqEnterSimPin(const ReqEnterSimPin& from);
-  
-  inline ReqEnterSimPin& operator=(const ReqEnterSimPin& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const ReqEnterSimPin& default_instance();
-  
-  void Swap(ReqEnterSimPin* other);
-  
-  // implements Message ----------------------------------------------
-  
-  ReqEnterSimPin* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const ReqEnterSimPin& from);
-  void MergeFrom(const ReqEnterSimPin& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string pin = 1;
-  inline bool has_pin() const;
-  inline void clear_pin();
-  static const int kPinFieldNumber = 1;
-  inline const ::std::string& pin() const;
-  inline void set_pin(const ::std::string& value);
-  inline void set_pin(const char* value);
-  inline void set_pin(const char* value, size_t size);
-  inline ::std::string* mutable_pin();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.ReqEnterSimPin)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::std::string* pin_;
-  static const ::std::string _default_pin_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static ReqEnterSimPin* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspEnterSimPin : public ::google::protobuf::Message {
- public:
-  RspEnterSimPin();
-  virtual ~RspEnterSimPin();
-  
-  RspEnterSimPin(const RspEnterSimPin& from);
-  
-  inline RspEnterSimPin& operator=(const RspEnterSimPin& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspEnterSimPin& default_instance();
-  
-  void Swap(RspEnterSimPin* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspEnterSimPin* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspEnterSimPin& from);
-  void MergeFrom(const RspEnterSimPin& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required int32 retries_remaining = 1;
-  inline bool has_retries_remaining() const;
-  inline void clear_retries_remaining();
-  static const int kRetriesRemainingFieldNumber = 1;
-  inline ::google::protobuf::int32 retries_remaining() const;
-  inline void set_retries_remaining(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspEnterSimPin)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 retries_remaining_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspEnterSimPin* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspGetCurrentCalls : public ::google::protobuf::Message {
- public:
-  RspGetCurrentCalls();
-  virtual ~RspGetCurrentCalls();
-  
-  RspGetCurrentCalls(const RspGetCurrentCalls& from);
-  
-  inline RspGetCurrentCalls& operator=(const RspGetCurrentCalls& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspGetCurrentCalls& default_instance();
-  
-  void Swap(RspGetCurrentCalls* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspGetCurrentCalls* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspGetCurrentCalls& from);
-  void MergeFrom(const RspGetCurrentCalls& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // repeated .ril_proto.RilCall calls = 1;
-  inline int calls_size() const;
-  inline void clear_calls();
-  static const int kCallsFieldNumber = 1;
-  inline const ::ril_proto::RilCall& calls(int index) const;
-  inline ::ril_proto::RilCall* mutable_calls(int index);
-  inline ::ril_proto::RilCall* add_calls();
-  inline const ::google::protobuf::RepeatedPtrField< ::ril_proto::RilCall >&
-      calls() const;
-  inline ::google::protobuf::RepeatedPtrField< ::ril_proto::RilCall >*
-      mutable_calls();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspGetCurrentCalls)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::RepeatedPtrField< ::ril_proto::RilCall > calls_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspGetCurrentCalls* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class ReqDial : public ::google::protobuf::Message {
- public:
-  ReqDial();
-  virtual ~ReqDial();
-  
-  ReqDial(const ReqDial& from);
-  
-  inline ReqDial& operator=(const ReqDial& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const ReqDial& default_instance();
-  
-  void Swap(ReqDial* other);
-  
-  // implements Message ----------------------------------------------
-  
-  ReqDial* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const ReqDial& from);
-  void MergeFrom(const ReqDial& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional string address = 1;
-  inline bool has_address() const;
-  inline void clear_address();
-  static const int kAddressFieldNumber = 1;
-  inline const ::std::string& address() const;
-  inline void set_address(const ::std::string& value);
-  inline void set_address(const char* value);
-  inline void set_address(const char* value, size_t size);
-  inline ::std::string* mutable_address();
-  
-  // optional int32 clir = 2;
-  inline bool has_clir() const;
-  inline void clear_clir();
-  static const int kClirFieldNumber = 2;
-  inline ::google::protobuf::int32 clir() const;
-  inline void set_clir(::google::protobuf::int32 value);
-  
-  // optional .ril_proto.RilUusInfo uus_info = 3;
-  inline bool has_uus_info() const;
-  inline void clear_uus_info();
-  static const int kUusInfoFieldNumber = 3;
-  inline const ::ril_proto::RilUusInfo& uus_info() const;
-  inline ::ril_proto::RilUusInfo* mutable_uus_info();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.ReqDial)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::std::string* address_;
-  static const ::std::string _default_address_;
-  ::google::protobuf::int32 clir_;
-  ::ril_proto::RilUusInfo* uus_info_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static ReqDial* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class ReqHangUp : public ::google::protobuf::Message {
- public:
-  ReqHangUp();
-  virtual ~ReqHangUp();
-  
-  ReqHangUp(const ReqHangUp& from);
-  
-  inline ReqHangUp& operator=(const ReqHangUp& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const ReqHangUp& default_instance();
-  
-  void Swap(ReqHangUp* other);
-  
-  // implements Message ----------------------------------------------
-  
-  ReqHangUp* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const ReqHangUp& from);
-  void MergeFrom(const ReqHangUp& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required int32 connection_index = 1;
-  inline bool has_connection_index() const;
-  inline void clear_connection_index();
-  static const int kConnectionIndexFieldNumber = 1;
-  inline ::google::protobuf::int32 connection_index() const;
-  inline void set_connection_index(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.ReqHangUp)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 connection_index_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static ReqHangUp* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspLastCallFailCause : public ::google::protobuf::Message {
- public:
-  RspLastCallFailCause();
-  virtual ~RspLastCallFailCause();
-  
-  RspLastCallFailCause(const RspLastCallFailCause& from);
-  
-  inline RspLastCallFailCause& operator=(const RspLastCallFailCause& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspLastCallFailCause& default_instance();
-  
-  void Swap(RspLastCallFailCause* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspLastCallFailCause* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspLastCallFailCause& from);
-  void MergeFrom(const RspLastCallFailCause& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required int32 last_call_fail_cause = 1;
-  inline bool has_last_call_fail_cause() const;
-  inline void clear_last_call_fail_cause();
-  static const int kLastCallFailCauseFieldNumber = 1;
-  inline ::google::protobuf::int32 last_call_fail_cause() const;
-  inline void set_last_call_fail_cause(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspLastCallFailCause)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 last_call_fail_cause_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspLastCallFailCause* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspSignalStrength : public ::google::protobuf::Message {
- public:
-  RspSignalStrength();
-  virtual ~RspSignalStrength();
-  
-  RspSignalStrength(const RspSignalStrength& from);
-  
-  inline RspSignalStrength& operator=(const RspSignalStrength& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspSignalStrength& default_instance();
-  
-  void Swap(RspSignalStrength* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspSignalStrength* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspSignalStrength& from);
-  void MergeFrom(const RspSignalStrength& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
-  inline bool has_gw_signalstrength() const;
-  inline void clear_gw_signalstrength();
-  static const int kGwSignalstrengthFieldNumber = 1;
-  inline const ::ril_proto::RILGWSignalStrength& gw_signalstrength() const;
-  inline ::ril_proto::RILGWSignalStrength* mutable_gw_signalstrength();
-  
-  // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
-  inline bool has_cdma_signalstrength() const;
-  inline void clear_cdma_signalstrength();
-  static const int kCdmaSignalstrengthFieldNumber = 2;
-  inline const ::ril_proto::RILCDMASignalStrength& cdma_signalstrength() const;
-  inline ::ril_proto::RILCDMASignalStrength* mutable_cdma_signalstrength();
-  
-  // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
-  inline bool has_evdo_signalstrength() const;
-  inline void clear_evdo_signalstrength();
-  static const int kEvdoSignalstrengthFieldNumber = 3;
-  inline const ::ril_proto::RILEVDOSignalStrength& evdo_signalstrength() const;
-  inline ::ril_proto::RILEVDOSignalStrength* mutable_evdo_signalstrength();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspSignalStrength)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::ril_proto::RILGWSignalStrength* gw_signalstrength_;
-  ::ril_proto::RILCDMASignalStrength* cdma_signalstrength_;
-  ::ril_proto::RILEVDOSignalStrength* evdo_signalstrength_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspSignalStrength* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class RspOperator : public ::google::protobuf::Message {
- public:
-  RspOperator();
-  virtual ~RspOperator();
-  
-  RspOperator(const RspOperator& from);
-  
-  inline RspOperator& operator=(const RspOperator& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const RspOperator& default_instance();
-  
-  void Swap(RspOperator* other);
-  
-  // implements Message ----------------------------------------------
-  
-  RspOperator* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const RspOperator& from);
-  void MergeFrom(const RspOperator& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // optional string long_alpha_ons = 1;
-  inline bool has_long_alpha_ons() const;
-  inline void clear_long_alpha_ons();
-  static const int kLongAlphaOnsFieldNumber = 1;
-  inline const ::std::string& long_alpha_ons() const;
-  inline void set_long_alpha_ons(const ::std::string& value);
-  inline void set_long_alpha_ons(const char* value);
-  inline void set_long_alpha_ons(const char* value, size_t size);
-  inline ::std::string* mutable_long_alpha_ons();
-  
-  // optional string short_alpha_ons = 2;
-  inline bool has_short_alpha_ons() const;
-  inline void clear_short_alpha_ons();
-  static const int kShortAlphaOnsFieldNumber = 2;
-  inline const ::std::string& short_alpha_ons() const;
-  inline void set_short_alpha_ons(const ::std::string& value);
-  inline void set_short_alpha_ons(const char* value);
-  inline void set_short_alpha_ons(const char* value, size_t size);
-  inline ::std::string* mutable_short_alpha_ons();
-  
-  // optional string mcc_mnc = 3;
-  inline bool has_mcc_mnc() const;
-  inline void clear_mcc_mnc();
-  static const int kMccMncFieldNumber = 3;
-  inline const ::std::string& mcc_mnc() const;
-  inline void set_mcc_mnc(const ::std::string& value);
-  inline void set_mcc_mnc(const char* value);
-  inline void set_mcc_mnc(const char* value, size_t size);
-  inline ::std::string* mutable_mcc_mnc();
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.RspOperator)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::std::string* long_alpha_ons_;
-  static const ::std::string _default_long_alpha_ons_;
-  ::std::string* short_alpha_ons_;
-  static const ::std::string _default_short_alpha_ons_;
-  ::std::string* mcc_mnc_;
-  static const ::std::string _default_mcc_mnc_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static RspOperator* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class ReqSeparateConnection : public ::google::protobuf::Message {
- public:
-  ReqSeparateConnection();
-  virtual ~ReqSeparateConnection();
-  
-  ReqSeparateConnection(const ReqSeparateConnection& from);
-  
-  inline ReqSeparateConnection& operator=(const ReqSeparateConnection& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const ReqSeparateConnection& default_instance();
-  
-  void Swap(ReqSeparateConnection* other);
-  
-  // implements Message ----------------------------------------------
-  
-  ReqSeparateConnection* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const ReqSeparateConnection& from);
-  void MergeFrom(const ReqSeparateConnection& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required int32 index = 1;
-  inline bool has_index() const;
-  inline void clear_index();
-  static const int kIndexFieldNumber = 1;
-  inline ::google::protobuf::int32 index() const;
-  inline void set_index(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.ReqSeparateConnection)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  ::google::protobuf::int32 index_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static ReqSeparateConnection* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class ReqSetMute : public ::google::protobuf::Message {
- public:
-  ReqSetMute();
-  virtual ~ReqSetMute();
-  
-  ReqSetMute(const ReqSetMute& from);
-  
-  inline ReqSetMute& operator=(const ReqSetMute& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const ReqSetMute& default_instance();
-  
-  void Swap(ReqSetMute* other);
-  
-  // implements Message ----------------------------------------------
-  
-  ReqSetMute* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const ReqSetMute& from);
-  void MergeFrom(const ReqSetMute& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required bool state = 1;
-  inline bool has_state() const;
-  inline void clear_state();
-  static const int kStateFieldNumber = 1;
-  inline bool state() const;
-  inline void set_state(bool value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.ReqSetMute)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  bool state_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static ReqSetMute* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class ReqScreenState : public ::google::protobuf::Message {
- public:
-  ReqScreenState();
-  virtual ~ReqScreenState();
-  
-  ReqScreenState(const ReqScreenState& from);
-  
-  inline ReqScreenState& operator=(const ReqScreenState& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const ReqScreenState& default_instance();
-  
-  void Swap(ReqScreenState* other);
-  
-  // implements Message ----------------------------------------------
-  
-  ReqScreenState* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const ReqScreenState& from);
-  void MergeFrom(const ReqScreenState& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required bool state = 1;
-  inline bool has_state() const;
-  inline void clear_state();
-  static const int kStateFieldNumber = 1;
-  inline bool state() const;
-  inline void set_state(bool value);
-  
-  // @@protoc_insertion_point(class_scope:ril_proto.ReqScreenState)
- private:
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  mutable int _cached_size_;
-  
-  bool state_;
-  friend void  protobuf_AddDesc_ril_2eproto();
-  friend void protobuf_AssignDesc_ril_2eproto();
-  friend void protobuf_ShutdownFile_ril_2eproto();
-  
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
-  inline bool _has_bit(int index) const {
-    return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
-  }
-  inline void _set_bit(int index) {
-    _has_bits_[index / 32] |= (1u << (index % 32));
-  }
-  inline void _clear_bit(int index) {
-    _has_bits_[index / 32] &= ~(1u << (index % 32));
-  }
-  
-  void InitAsDefaultInstance();
-  static ReqScreenState* default_instance_;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-// RilAppStatus
-
-// optional .ril_proto.RilAppType app_type = 1;
-inline bool RilAppStatus::has_app_type() const {
-  return _has_bit(0);
-}
-inline void RilAppStatus::clear_app_type() {
-  app_type_ = 0;
-  _clear_bit(0);
-}
-inline ril_proto::RilAppType RilAppStatus::app_type() const {
-  return static_cast< ril_proto::RilAppType >(app_type_);
-}
-inline void RilAppStatus::set_app_type(ril_proto::RilAppType value) {
-  GOOGLE_DCHECK(ril_proto::RilAppType_IsValid(value));
-  _set_bit(0);
-  app_type_ = value;
-}
-
-// optional .ril_proto.RilAppState app_state = 2;
-inline bool RilAppStatus::has_app_state() const {
-  return _has_bit(1);
-}
-inline void RilAppStatus::clear_app_state() {
-  app_state_ = 0;
-  _clear_bit(1);
-}
-inline ril_proto::RilAppState RilAppStatus::app_state() const {
-  return static_cast< ril_proto::RilAppState >(app_state_);
-}
-inline void RilAppStatus::set_app_state(ril_proto::RilAppState value) {
-  GOOGLE_DCHECK(ril_proto::RilAppState_IsValid(value));
-  _set_bit(1);
-  app_state_ = value;
-}
-
-// optional .ril_proto.RilPersoSubstate perso_substate = 3;
-inline bool RilAppStatus::has_perso_substate() const {
-  return _has_bit(2);
-}
-inline void RilAppStatus::clear_perso_substate() {
-  perso_substate_ = 0;
-  _clear_bit(2);
-}
-inline ril_proto::RilPersoSubstate RilAppStatus::perso_substate() const {
-  return static_cast< ril_proto::RilPersoSubstate >(perso_substate_);
-}
-inline void RilAppStatus::set_perso_substate(ril_proto::RilPersoSubstate value) {
-  GOOGLE_DCHECK(ril_proto::RilPersoSubstate_IsValid(value));
-  _set_bit(2);
-  perso_substate_ = value;
-}
-
-// optional string aid = 4;
-inline bool RilAppStatus::has_aid() const {
-  return _has_bit(3);
-}
-inline void RilAppStatus::clear_aid() {
-  if (aid_ != &_default_aid_) {
-    aid_->clear();
-  }
-  _clear_bit(3);
-}
-inline const ::std::string& RilAppStatus::aid() const {
-  return *aid_;
-}
-inline void RilAppStatus::set_aid(const ::std::string& value) {
-  _set_bit(3);
-  if (aid_ == &_default_aid_) {
-    aid_ = new ::std::string;
-  }
-  aid_->assign(value);
-}
-inline void RilAppStatus::set_aid(const char* value) {
-  _set_bit(3);
-  if (aid_ == &_default_aid_) {
-    aid_ = new ::std::string;
-  }
-  aid_->assign(value);
-}
-inline void RilAppStatus::set_aid(const char* value, size_t size) {
-  _set_bit(3);
-  if (aid_ == &_default_aid_) {
-    aid_ = new ::std::string;
-  }
-  aid_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RilAppStatus::mutable_aid() {
-  _set_bit(3);
-  if (aid_ == &_default_aid_) {
-    aid_ = new ::std::string;
-  }
-  return aid_;
-}
-
-// optional string app_label = 5;
-inline bool RilAppStatus::has_app_label() const {
-  return _has_bit(4);
-}
-inline void RilAppStatus::clear_app_label() {
-  if (app_label_ != &_default_app_label_) {
-    app_label_->clear();
-  }
-  _clear_bit(4);
-}
-inline const ::std::string& RilAppStatus::app_label() const {
-  return *app_label_;
-}
-inline void RilAppStatus::set_app_label(const ::std::string& value) {
-  _set_bit(4);
-  if (app_label_ == &_default_app_label_) {
-    app_label_ = new ::std::string;
-  }
-  app_label_->assign(value);
-}
-inline void RilAppStatus::set_app_label(const char* value) {
-  _set_bit(4);
-  if (app_label_ == &_default_app_label_) {
-    app_label_ = new ::std::string;
-  }
-  app_label_->assign(value);
-}
-inline void RilAppStatus::set_app_label(const char* value, size_t size) {
-  _set_bit(4);
-  if (app_label_ == &_default_app_label_) {
-    app_label_ = new ::std::string;
-  }
-  app_label_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RilAppStatus::mutable_app_label() {
-  _set_bit(4);
-  if (app_label_ == &_default_app_label_) {
-    app_label_ = new ::std::string;
-  }
-  return app_label_;
-}
-
-// optional int32 pin1_replaced = 6;
-inline bool RilAppStatus::has_pin1_replaced() const {
-  return _has_bit(5);
-}
-inline void RilAppStatus::clear_pin1_replaced() {
-  pin1_replaced_ = 0;
-  _clear_bit(5);
-}
-inline ::google::protobuf::int32 RilAppStatus::pin1_replaced() const {
-  return pin1_replaced_;
-}
-inline void RilAppStatus::set_pin1_replaced(::google::protobuf::int32 value) {
-  _set_bit(5);
-  pin1_replaced_ = value;
-}
-
-// optional .ril_proto.RilPinState pin1 = 7;
-inline bool RilAppStatus::has_pin1() const {
-  return _has_bit(6);
-}
-inline void RilAppStatus::clear_pin1() {
-  pin1_ = 0;
-  _clear_bit(6);
-}
-inline ril_proto::RilPinState RilAppStatus::pin1() const {
-  return static_cast< ril_proto::RilPinState >(pin1_);
-}
-inline void RilAppStatus::set_pin1(ril_proto::RilPinState value) {
-  GOOGLE_DCHECK(ril_proto::RilPinState_IsValid(value));
-  _set_bit(6);
-  pin1_ = value;
-}
-
-// optional .ril_proto.RilPinState pin2 = 8;
-inline bool RilAppStatus::has_pin2() const {
-  return _has_bit(7);
-}
-inline void RilAppStatus::clear_pin2() {
-  pin2_ = 0;
-  _clear_bit(7);
-}
-inline ril_proto::RilPinState RilAppStatus::pin2() const {
-  return static_cast< ril_proto::RilPinState >(pin2_);
-}
-inline void RilAppStatus::set_pin2(ril_proto::RilPinState value) {
-  GOOGLE_DCHECK(ril_proto::RilPinState_IsValid(value));
-  _set_bit(7);
-  pin2_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// RilCardStatus
-
-// optional .ril_proto.RilCardState card_state = 1;
-inline bool RilCardStatus::has_card_state() const {
-  return _has_bit(0);
-}
-inline void RilCardStatus::clear_card_state() {
-  card_state_ = 0;
-  _clear_bit(0);
-}
-inline ril_proto::RilCardState RilCardStatus::card_state() const {
-  return static_cast< ril_proto::RilCardState >(card_state_);
-}
-inline void RilCardStatus::set_card_state(ril_proto::RilCardState value) {
-  GOOGLE_DCHECK(ril_proto::RilCardState_IsValid(value));
-  _set_bit(0);
-  card_state_ = value;
-}
-
-// optional .ril_proto.RilPinState universal_pin_state = 2;
-inline bool RilCardStatus::has_universal_pin_state() const {
-  return _has_bit(1);
-}
-inline void RilCardStatus::clear_universal_pin_state() {
-  universal_pin_state_ = 0;
-  _clear_bit(1);
-}
-inline ril_proto::RilPinState RilCardStatus::universal_pin_state() const {
-  return static_cast< ril_proto::RilPinState >(universal_pin_state_);
-}
-inline void RilCardStatus::set_universal_pin_state(ril_proto::RilPinState value) {
-  GOOGLE_DCHECK(ril_proto::RilPinState_IsValid(value));
-  _set_bit(1);
-  universal_pin_state_ = value;
-}
-
-// optional int32 gsm_umts_subscription_app_index = 3;
-inline bool RilCardStatus::has_gsm_umts_subscription_app_index() const {
-  return _has_bit(2);
-}
-inline void RilCardStatus::clear_gsm_umts_subscription_app_index() {
-  gsm_umts_subscription_app_index_ = 0;
-  _clear_bit(2);
-}
-inline ::google::protobuf::int32 RilCardStatus::gsm_umts_subscription_app_index() const {
-  return gsm_umts_subscription_app_index_;
-}
-inline void RilCardStatus::set_gsm_umts_subscription_app_index(::google::protobuf::int32 value) {
-  _set_bit(2);
-  gsm_umts_subscription_app_index_ = value;
-}
-
-// optional int32 cdma_subscription_app_index = 4;
-inline bool RilCardStatus::has_cdma_subscription_app_index() const {
-  return _has_bit(3);
-}
-inline void RilCardStatus::clear_cdma_subscription_app_index() {
-  cdma_subscription_app_index_ = 0;
-  _clear_bit(3);
-}
-inline ::google::protobuf::int32 RilCardStatus::cdma_subscription_app_index() const {
-  return cdma_subscription_app_index_;
-}
-inline void RilCardStatus::set_cdma_subscription_app_index(::google::protobuf::int32 value) {
-  _set_bit(3);
-  cdma_subscription_app_index_ = value;
-}
-
-// optional int32 num_applications = 5;
-inline bool RilCardStatus::has_num_applications() const {
-  return _has_bit(4);
-}
-inline void RilCardStatus::clear_num_applications() {
-  num_applications_ = 0;
-  _clear_bit(4);
-}
-inline ::google::protobuf::int32 RilCardStatus::num_applications() const {
-  return num_applications_;
-}
-inline void RilCardStatus::set_num_applications(::google::protobuf::int32 value) {
-  _set_bit(4);
-  num_applications_ = value;
-}
-
-// repeated .ril_proto.RilAppStatus applications = 6;
-inline int RilCardStatus::applications_size() const {
-  return applications_.size();
-}
-inline void RilCardStatus::clear_applications() {
-  applications_.Clear();
-}
-inline const ::ril_proto::RilAppStatus& RilCardStatus::applications(int index) const {
-  return applications_.Get(index);
-}
-inline ::ril_proto::RilAppStatus* RilCardStatus::mutable_applications(int index) {
-  return applications_.Mutable(index);
-}
-inline ::ril_proto::RilAppStatus* RilCardStatus::add_applications() {
-  return applications_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::ril_proto::RilAppStatus >&
-RilCardStatus::applications() const {
-  return applications_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::ril_proto::RilAppStatus >*
-RilCardStatus::mutable_applications() {
-  return &applications_;
-}
-
-// -------------------------------------------------------------------
-
-// RilUusInfo
-
-// optional .ril_proto.RilUusType uus_type = 1;
-inline bool RilUusInfo::has_uus_type() const {
-  return _has_bit(0);
-}
-inline void RilUusInfo::clear_uus_type() {
-  uus_type_ = 0;
-  _clear_bit(0);
-}
-inline ril_proto::RilUusType RilUusInfo::uus_type() const {
-  return static_cast< ril_proto::RilUusType >(uus_type_);
-}
-inline void RilUusInfo::set_uus_type(ril_proto::RilUusType value) {
-  GOOGLE_DCHECK(ril_proto::RilUusType_IsValid(value));
-  _set_bit(0);
-  uus_type_ = value;
-}
-
-// optional .ril_proto.RilUusDcs uus_dcs = 2;
-inline bool RilUusInfo::has_uus_dcs() const {
-  return _has_bit(1);
-}
-inline void RilUusInfo::clear_uus_dcs() {
-  uus_dcs_ = 0;
-  _clear_bit(1);
-}
-inline ril_proto::RilUusDcs RilUusInfo::uus_dcs() const {
-  return static_cast< ril_proto::RilUusDcs >(uus_dcs_);
-}
-inline void RilUusInfo::set_uus_dcs(ril_proto::RilUusDcs value) {
-  GOOGLE_DCHECK(ril_proto::RilUusDcs_IsValid(value));
-  _set_bit(1);
-  uus_dcs_ = value;
-}
-
-// optional int32 uus_length = 3;
-inline bool RilUusInfo::has_uus_length() const {
-  return _has_bit(2);
-}
-inline void RilUusInfo::clear_uus_length() {
-  uus_length_ = 0;
-  _clear_bit(2);
-}
-inline ::google::protobuf::int32 RilUusInfo::uus_length() const {
-  return uus_length_;
-}
-inline void RilUusInfo::set_uus_length(::google::protobuf::int32 value) {
-  _set_bit(2);
-  uus_length_ = value;
-}
-
-// optional string uus_data = 4;
-inline bool RilUusInfo::has_uus_data() const {
-  return _has_bit(3);
-}
-inline void RilUusInfo::clear_uus_data() {
-  if (uus_data_ != &_default_uus_data_) {
-    uus_data_->clear();
-  }
-  _clear_bit(3);
-}
-inline const ::std::string& RilUusInfo::uus_data() const {
-  return *uus_data_;
-}
-inline void RilUusInfo::set_uus_data(const ::std::string& value) {
-  _set_bit(3);
-  if (uus_data_ == &_default_uus_data_) {
-    uus_data_ = new ::std::string;
-  }
-  uus_data_->assign(value);
-}
-inline void RilUusInfo::set_uus_data(const char* value) {
-  _set_bit(3);
-  if (uus_data_ == &_default_uus_data_) {
-    uus_data_ = new ::std::string;
-  }
-  uus_data_->assign(value);
-}
-inline void RilUusInfo::set_uus_data(const char* value, size_t size) {
-  _set_bit(3);
-  if (uus_data_ == &_default_uus_data_) {
-    uus_data_ = new ::std::string;
-  }
-  uus_data_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RilUusInfo::mutable_uus_data() {
-  _set_bit(3);
-  if (uus_data_ == &_default_uus_data_) {
-    uus_data_ = new ::std::string;
-  }
-  return uus_data_;
-}
-
-// -------------------------------------------------------------------
-
-// RilCall
-
-// optional .ril_proto.RilCallState state = 1;
-inline bool RilCall::has_state() const {
-  return _has_bit(0);
-}
-inline void RilCall::clear_state() {
-  state_ = 0;
-  _clear_bit(0);
-}
-inline ril_proto::RilCallState RilCall::state() const {
-  return static_cast< ril_proto::RilCallState >(state_);
-}
-inline void RilCall::set_state(ril_proto::RilCallState value) {
-  GOOGLE_DCHECK(ril_proto::RilCallState_IsValid(value));
-  _set_bit(0);
-  state_ = value;
-}
-
-// optional int32 index = 2;
-inline bool RilCall::has_index() const {
-  return _has_bit(1);
-}
-inline void RilCall::clear_index() {
-  index_ = 0;
-  _clear_bit(1);
-}
-inline ::google::protobuf::int32 RilCall::index() const {
-  return index_;
-}
-inline void RilCall::set_index(::google::protobuf::int32 value) {
-  _set_bit(1);
-  index_ = value;
-}
-
-// optional int32 toa = 3;
-inline bool RilCall::has_toa() const {
-  return _has_bit(2);
-}
-inline void RilCall::clear_toa() {
-  toa_ = 0;
-  _clear_bit(2);
-}
-inline ::google::protobuf::int32 RilCall::toa() const {
-  return toa_;
-}
-inline void RilCall::set_toa(::google::protobuf::int32 value) {
-  _set_bit(2);
-  toa_ = value;
-}
-
-// optional bool is_mpty = 4;
-inline bool RilCall::has_is_mpty() const {
-  return _has_bit(3);
-}
-inline void RilCall::clear_is_mpty() {
-  is_mpty_ = false;
-  _clear_bit(3);
-}
-inline bool RilCall::is_mpty() const {
-  return is_mpty_;
-}
-inline void RilCall::set_is_mpty(bool value) {
-  _set_bit(3);
-  is_mpty_ = value;
-}
-
-// optional bool is_mt = 5;
-inline bool RilCall::has_is_mt() const {
-  return _has_bit(4);
-}
-inline void RilCall::clear_is_mt() {
-  is_mt_ = false;
-  _clear_bit(4);
-}
-inline bool RilCall::is_mt() const {
-  return is_mt_;
-}
-inline void RilCall::set_is_mt(bool value) {
-  _set_bit(4);
-  is_mt_ = value;
-}
-
-// optional int32 als = 6;
-inline bool RilCall::has_als() const {
-  return _has_bit(5);
-}
-inline void RilCall::clear_als() {
-  als_ = 0;
-  _clear_bit(5);
-}
-inline ::google::protobuf::int32 RilCall::als() const {
-  return als_;
-}
-inline void RilCall::set_als(::google::protobuf::int32 value) {
-  _set_bit(5);
-  als_ = value;
-}
-
-// optional bool is_voice = 7;
-inline bool RilCall::has_is_voice() const {
-  return _has_bit(6);
-}
-inline void RilCall::clear_is_voice() {
-  is_voice_ = false;
-  _clear_bit(6);
-}
-inline bool RilCall::is_voice() const {
-  return is_voice_;
-}
-inline void RilCall::set_is_voice(bool value) {
-  _set_bit(6);
-  is_voice_ = value;
-}
-
-// optional bool is_voice_privacy = 8;
-inline bool RilCall::has_is_voice_privacy() const {
-  return _has_bit(7);
-}
-inline void RilCall::clear_is_voice_privacy() {
-  is_voice_privacy_ = false;
-  _clear_bit(7);
-}
-inline bool RilCall::is_voice_privacy() const {
-  return is_voice_privacy_;
-}
-inline void RilCall::set_is_voice_privacy(bool value) {
-  _set_bit(7);
-  is_voice_privacy_ = value;
-}
-
-// optional string number = 9;
-inline bool RilCall::has_number() const {
-  return _has_bit(8);
-}
-inline void RilCall::clear_number() {
-  if (number_ != &_default_number_) {
-    number_->clear();
-  }
-  _clear_bit(8);
-}
-inline const ::std::string& RilCall::number() const {
-  return *number_;
-}
-inline void RilCall::set_number(const ::std::string& value) {
-  _set_bit(8);
-  if (number_ == &_default_number_) {
-    number_ = new ::std::string;
-  }
-  number_->assign(value);
-}
-inline void RilCall::set_number(const char* value) {
-  _set_bit(8);
-  if (number_ == &_default_number_) {
-    number_ = new ::std::string;
-  }
-  number_->assign(value);
-}
-inline void RilCall::set_number(const char* value, size_t size) {
-  _set_bit(8);
-  if (number_ == &_default_number_) {
-    number_ = new ::std::string;
-  }
-  number_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RilCall::mutable_number() {
-  _set_bit(8);
-  if (number_ == &_default_number_) {
-    number_ = new ::std::string;
-  }
-  return number_;
-}
-
-// optional int32 number_presentation = 10;
-inline bool RilCall::has_number_presentation() const {
-  return _has_bit(9);
-}
-inline void RilCall::clear_number_presentation() {
-  number_presentation_ = 0;
-  _clear_bit(9);
-}
-inline ::google::protobuf::int32 RilCall::number_presentation() const {
-  return number_presentation_;
-}
-inline void RilCall::set_number_presentation(::google::protobuf::int32 value) {
-  _set_bit(9);
-  number_presentation_ = value;
-}
-
-// optional string name = 11;
-inline bool RilCall::has_name() const {
-  return _has_bit(10);
-}
-inline void RilCall::clear_name() {
-  if (name_ != &_default_name_) {
-    name_->clear();
-  }
-  _clear_bit(10);
-}
-inline const ::std::string& RilCall::name() const {
-  return *name_;
-}
-inline void RilCall::set_name(const ::std::string& value) {
-  _set_bit(10);
-  if (name_ == &_default_name_) {
-    name_ = new ::std::string;
-  }
-  name_->assign(value);
-}
-inline void RilCall::set_name(const char* value) {
-  _set_bit(10);
-  if (name_ == &_default_name_) {
-    name_ = new ::std::string;
-  }
-  name_->assign(value);
-}
-inline void RilCall::set_name(const char* value, size_t size) {
-  _set_bit(10);
-  if (name_ == &_default_name_) {
-    name_ = new ::std::string;
-  }
-  name_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RilCall::mutable_name() {
-  _set_bit(10);
-  if (name_ == &_default_name_) {
-    name_ = new ::std::string;
-  }
-  return name_;
-}
-
-// optional int32 name_presentation = 12;
-inline bool RilCall::has_name_presentation() const {
-  return _has_bit(11);
-}
-inline void RilCall::clear_name_presentation() {
-  name_presentation_ = 0;
-  _clear_bit(11);
-}
-inline ::google::protobuf::int32 RilCall::name_presentation() const {
-  return name_presentation_;
-}
-inline void RilCall::set_name_presentation(::google::protobuf::int32 value) {
-  _set_bit(11);
-  name_presentation_ = value;
-}
-
-// optional .ril_proto.RilUusInfo uus_info = 13;
-inline bool RilCall::has_uus_info() const {
-  return _has_bit(12);
-}
-inline void RilCall::clear_uus_info() {
-  if (uus_info_ != NULL) uus_info_->::ril_proto::RilUusInfo::Clear();
-  _clear_bit(12);
-}
-inline const ::ril_proto::RilUusInfo& RilCall::uus_info() const {
-  return uus_info_ != NULL ? *uus_info_ : *default_instance_->uus_info_;
-}
-inline ::ril_proto::RilUusInfo* RilCall::mutable_uus_info() {
-  _set_bit(12);
-  if (uus_info_ == NULL) uus_info_ = new ::ril_proto::RilUusInfo;
-  return uus_info_;
-}
-
-// -------------------------------------------------------------------
-
-// RILGWSignalStrength
-
-// optional int32 signal_strength = 1;
-inline bool RILGWSignalStrength::has_signal_strength() const {
-  return _has_bit(0);
-}
-inline void RILGWSignalStrength::clear_signal_strength() {
-  signal_strength_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 RILGWSignalStrength::signal_strength() const {
-  return signal_strength_;
-}
-inline void RILGWSignalStrength::set_signal_strength(::google::protobuf::int32 value) {
-  _set_bit(0);
-  signal_strength_ = value;
-}
-
-// optional int32 bit_error_rate = 2;
-inline bool RILGWSignalStrength::has_bit_error_rate() const {
-  return _has_bit(1);
-}
-inline void RILGWSignalStrength::clear_bit_error_rate() {
-  bit_error_rate_ = 0;
-  _clear_bit(1);
-}
-inline ::google::protobuf::int32 RILGWSignalStrength::bit_error_rate() const {
-  return bit_error_rate_;
-}
-inline void RILGWSignalStrength::set_bit_error_rate(::google::protobuf::int32 value) {
-  _set_bit(1);
-  bit_error_rate_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// RILCDMASignalStrength
-
-// optional int32 dbm = 1;
-inline bool RILCDMASignalStrength::has_dbm() const {
-  return _has_bit(0);
-}
-inline void RILCDMASignalStrength::clear_dbm() {
-  dbm_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 RILCDMASignalStrength::dbm() const {
-  return dbm_;
-}
-inline void RILCDMASignalStrength::set_dbm(::google::protobuf::int32 value) {
-  _set_bit(0);
-  dbm_ = value;
-}
-
-// optional int32 ecio = 2;
-inline bool RILCDMASignalStrength::has_ecio() const {
-  return _has_bit(1);
-}
-inline void RILCDMASignalStrength::clear_ecio() {
-  ecio_ = 0;
-  _clear_bit(1);
-}
-inline ::google::protobuf::int32 RILCDMASignalStrength::ecio() const {
-  return ecio_;
-}
-inline void RILCDMASignalStrength::set_ecio(::google::protobuf::int32 value) {
-  _set_bit(1);
-  ecio_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// RILEVDOSignalStrength
-
-// optional int32 dbm = 1;
-inline bool RILEVDOSignalStrength::has_dbm() const {
-  return _has_bit(0);
-}
-inline void RILEVDOSignalStrength::clear_dbm() {
-  dbm_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 RILEVDOSignalStrength::dbm() const {
-  return dbm_;
-}
-inline void RILEVDOSignalStrength::set_dbm(::google::protobuf::int32 value) {
-  _set_bit(0);
-  dbm_ = value;
-}
-
-// optional int32 ecio = 2;
-inline bool RILEVDOSignalStrength::has_ecio() const {
-  return _has_bit(1);
-}
-inline void RILEVDOSignalStrength::clear_ecio() {
-  ecio_ = 0;
-  _clear_bit(1);
-}
-inline ::google::protobuf::int32 RILEVDOSignalStrength::ecio() const {
-  return ecio_;
-}
-inline void RILEVDOSignalStrength::set_ecio(::google::protobuf::int32 value) {
-  _set_bit(1);
-  ecio_ = value;
-}
-
-// optional int32 signal_noise_ratio = 3;
-inline bool RILEVDOSignalStrength::has_signal_noise_ratio() const {
-  return _has_bit(2);
-}
-inline void RILEVDOSignalStrength::clear_signal_noise_ratio() {
-  signal_noise_ratio_ = 0;
-  _clear_bit(2);
-}
-inline ::google::protobuf::int32 RILEVDOSignalStrength::signal_noise_ratio() const {
-  return signal_noise_ratio_;
-}
-inline void RILEVDOSignalStrength::set_signal_noise_ratio(::google::protobuf::int32 value) {
-  _set_bit(2);
-  signal_noise_ratio_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// RspStrings
-
-// repeated string strings = 1;
-inline int RspStrings::strings_size() const {
-  return strings_.size();
-}
-inline void RspStrings::clear_strings() {
-  strings_.Clear();
-}
-inline const ::std::string& RspStrings::strings(int index) const {
-  return strings_.Get(index);
-}
-inline ::std::string* RspStrings::mutable_strings(int index) {
-  return strings_.Mutable(index);
-}
-inline void RspStrings::set_strings(int index, const ::std::string& value) {
-  strings_.Mutable(index)->assign(value);
-}
-inline void RspStrings::set_strings(int index, const char* value) {
-  strings_.Mutable(index)->assign(value);
-}
-inline void RspStrings::set_strings(int index, const char* value, size_t size) {
-  strings_.Mutable(index)->assign(
-    reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RspStrings::add_strings() {
-  return strings_.Add();
-}
-inline void RspStrings::add_strings(const ::std::string& value) {
-  strings_.Add()->assign(value);
-}
-inline void RspStrings::add_strings(const char* value) {
-  strings_.Add()->assign(value);
-}
-inline void RspStrings::add_strings(const char* value, size_t size) {
-  strings_.Add()->assign(reinterpret_cast<const char*>(value), size);
-}
-inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
-RspStrings::strings() const {
-  return strings_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::std::string>*
-RspStrings::mutable_strings() {
-  return &strings_;
-}
-
-// -------------------------------------------------------------------
-
-// RspIntegers
-
-// repeated int32 integers = 1;
-inline int RspIntegers::integers_size() const {
-  return integers_.size();
-}
-inline void RspIntegers::clear_integers() {
-  integers_.Clear();
-}
-inline ::google::protobuf::int32 RspIntegers::integers(int index) const {
-  return integers_.Get(index);
-}
-inline void RspIntegers::set_integers(int index, ::google::protobuf::int32 value) {
-  integers_.Set(index, value);
-}
-inline void RspIntegers::add_integers(::google::protobuf::int32 value) {
-  integers_.Add(value);
-}
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
-RspIntegers::integers() const {
-  return integers_;
-}
-inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
-RspIntegers::mutable_integers() {
-  return &integers_;
-}
-
-// -------------------------------------------------------------------
-
-// RspGetSimStatus
-
-// required .ril_proto.RilCardStatus card_status = 1;
-inline bool RspGetSimStatus::has_card_status() const {
-  return _has_bit(0);
-}
-inline void RspGetSimStatus::clear_card_status() {
-  if (card_status_ != NULL) card_status_->::ril_proto::RilCardStatus::Clear();
-  _clear_bit(0);
-}
-inline const ::ril_proto::RilCardStatus& RspGetSimStatus::card_status() const {
-  return card_status_ != NULL ? *card_status_ : *default_instance_->card_status_;
-}
-inline ::ril_proto::RilCardStatus* RspGetSimStatus::mutable_card_status() {
-  _set_bit(0);
-  if (card_status_ == NULL) card_status_ = new ::ril_proto::RilCardStatus;
-  return card_status_;
-}
-
-// -------------------------------------------------------------------
-
-// ReqEnterSimPin
-
-// required string pin = 1;
-inline bool ReqEnterSimPin::has_pin() const {
-  return _has_bit(0);
-}
-inline void ReqEnterSimPin::clear_pin() {
-  if (pin_ != &_default_pin_) {
-    pin_->clear();
-  }
-  _clear_bit(0);
-}
-inline const ::std::string& ReqEnterSimPin::pin() const {
-  return *pin_;
-}
-inline void ReqEnterSimPin::set_pin(const ::std::string& value) {
-  _set_bit(0);
-  if (pin_ == &_default_pin_) {
-    pin_ = new ::std::string;
-  }
-  pin_->assign(value);
-}
-inline void ReqEnterSimPin::set_pin(const char* value) {
-  _set_bit(0);
-  if (pin_ == &_default_pin_) {
-    pin_ = new ::std::string;
-  }
-  pin_->assign(value);
-}
-inline void ReqEnterSimPin::set_pin(const char* value, size_t size) {
-  _set_bit(0);
-  if (pin_ == &_default_pin_) {
-    pin_ = new ::std::string;
-  }
-  pin_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* ReqEnterSimPin::mutable_pin() {
-  _set_bit(0);
-  if (pin_ == &_default_pin_) {
-    pin_ = new ::std::string;
-  }
-  return pin_;
-}
-
-// -------------------------------------------------------------------
-
-// RspEnterSimPin
-
-// required int32 retries_remaining = 1;
-inline bool RspEnterSimPin::has_retries_remaining() const {
-  return _has_bit(0);
-}
-inline void RspEnterSimPin::clear_retries_remaining() {
-  retries_remaining_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 RspEnterSimPin::retries_remaining() const {
-  return retries_remaining_;
-}
-inline void RspEnterSimPin::set_retries_remaining(::google::protobuf::int32 value) {
-  _set_bit(0);
-  retries_remaining_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// RspGetCurrentCalls
-
-// repeated .ril_proto.RilCall calls = 1;
-inline int RspGetCurrentCalls::calls_size() const {
-  return calls_.size();
-}
-inline void RspGetCurrentCalls::clear_calls() {
-  calls_.Clear();
-}
-inline const ::ril_proto::RilCall& RspGetCurrentCalls::calls(int index) const {
-  return calls_.Get(index);
-}
-inline ::ril_proto::RilCall* RspGetCurrentCalls::mutable_calls(int index) {
-  return calls_.Mutable(index);
-}
-inline ::ril_proto::RilCall* RspGetCurrentCalls::add_calls() {
-  return calls_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::ril_proto::RilCall >&
-RspGetCurrentCalls::calls() const {
-  return calls_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::ril_proto::RilCall >*
-RspGetCurrentCalls::mutable_calls() {
-  return &calls_;
-}
-
-// -------------------------------------------------------------------
-
-// ReqDial
-
-// optional string address = 1;
-inline bool ReqDial::has_address() const {
-  return _has_bit(0);
-}
-inline void ReqDial::clear_address() {
-  if (address_ != &_default_address_) {
-    address_->clear();
-  }
-  _clear_bit(0);
-}
-inline const ::std::string& ReqDial::address() const {
-  return *address_;
-}
-inline void ReqDial::set_address(const ::std::string& value) {
-  _set_bit(0);
-  if (address_ == &_default_address_) {
-    address_ = new ::std::string;
-  }
-  address_->assign(value);
-}
-inline void ReqDial::set_address(const char* value) {
-  _set_bit(0);
-  if (address_ == &_default_address_) {
-    address_ = new ::std::string;
-  }
-  address_->assign(value);
-}
-inline void ReqDial::set_address(const char* value, size_t size) {
-  _set_bit(0);
-  if (address_ == &_default_address_) {
-    address_ = new ::std::string;
-  }
-  address_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* ReqDial::mutable_address() {
-  _set_bit(0);
-  if (address_ == &_default_address_) {
-    address_ = new ::std::string;
-  }
-  return address_;
-}
-
-// optional int32 clir = 2;
-inline bool ReqDial::has_clir() const {
-  return _has_bit(1);
-}
-inline void ReqDial::clear_clir() {
-  clir_ = 0;
-  _clear_bit(1);
-}
-inline ::google::protobuf::int32 ReqDial::clir() const {
-  return clir_;
-}
-inline void ReqDial::set_clir(::google::protobuf::int32 value) {
-  _set_bit(1);
-  clir_ = value;
-}
-
-// optional .ril_proto.RilUusInfo uus_info = 3;
-inline bool ReqDial::has_uus_info() const {
-  return _has_bit(2);
-}
-inline void ReqDial::clear_uus_info() {
-  if (uus_info_ != NULL) uus_info_->::ril_proto::RilUusInfo::Clear();
-  _clear_bit(2);
-}
-inline const ::ril_proto::RilUusInfo& ReqDial::uus_info() const {
-  return uus_info_ != NULL ? *uus_info_ : *default_instance_->uus_info_;
-}
-inline ::ril_proto::RilUusInfo* ReqDial::mutable_uus_info() {
-  _set_bit(2);
-  if (uus_info_ == NULL) uus_info_ = new ::ril_proto::RilUusInfo;
-  return uus_info_;
-}
-
-// -------------------------------------------------------------------
-
-// ReqHangUp
-
-// required int32 connection_index = 1;
-inline bool ReqHangUp::has_connection_index() const {
-  return _has_bit(0);
-}
-inline void ReqHangUp::clear_connection_index() {
-  connection_index_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 ReqHangUp::connection_index() const {
-  return connection_index_;
-}
-inline void ReqHangUp::set_connection_index(::google::protobuf::int32 value) {
-  _set_bit(0);
-  connection_index_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// RspLastCallFailCause
-
-// required int32 last_call_fail_cause = 1;
-inline bool RspLastCallFailCause::has_last_call_fail_cause() const {
-  return _has_bit(0);
-}
-inline void RspLastCallFailCause::clear_last_call_fail_cause() {
-  last_call_fail_cause_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 RspLastCallFailCause::last_call_fail_cause() const {
-  return last_call_fail_cause_;
-}
-inline void RspLastCallFailCause::set_last_call_fail_cause(::google::protobuf::int32 value) {
-  _set_bit(0);
-  last_call_fail_cause_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// RspSignalStrength
-
-// optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
-inline bool RspSignalStrength::has_gw_signalstrength() const {
-  return _has_bit(0);
-}
-inline void RspSignalStrength::clear_gw_signalstrength() {
-  if (gw_signalstrength_ != NULL) gw_signalstrength_->::ril_proto::RILGWSignalStrength::Clear();
-  _clear_bit(0);
-}
-inline const ::ril_proto::RILGWSignalStrength& RspSignalStrength::gw_signalstrength() const {
-  return gw_signalstrength_ != NULL ? *gw_signalstrength_ : *default_instance_->gw_signalstrength_;
-}
-inline ::ril_proto::RILGWSignalStrength* RspSignalStrength::mutable_gw_signalstrength() {
-  _set_bit(0);
-  if (gw_signalstrength_ == NULL) gw_signalstrength_ = new ::ril_proto::RILGWSignalStrength;
-  return gw_signalstrength_;
-}
-
-// optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
-inline bool RspSignalStrength::has_cdma_signalstrength() const {
-  return _has_bit(1);
-}
-inline void RspSignalStrength::clear_cdma_signalstrength() {
-  if (cdma_signalstrength_ != NULL) cdma_signalstrength_->::ril_proto::RILCDMASignalStrength::Clear();
-  _clear_bit(1);
-}
-inline const ::ril_proto::RILCDMASignalStrength& RspSignalStrength::cdma_signalstrength() const {
-  return cdma_signalstrength_ != NULL ? *cdma_signalstrength_ : *default_instance_->cdma_signalstrength_;
-}
-inline ::ril_proto::RILCDMASignalStrength* RspSignalStrength::mutable_cdma_signalstrength() {
-  _set_bit(1);
-  if (cdma_signalstrength_ == NULL) cdma_signalstrength_ = new ::ril_proto::RILCDMASignalStrength;
-  return cdma_signalstrength_;
-}
-
-// optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
-inline bool RspSignalStrength::has_evdo_signalstrength() const {
-  return _has_bit(2);
-}
-inline void RspSignalStrength::clear_evdo_signalstrength() {
-  if (evdo_signalstrength_ != NULL) evdo_signalstrength_->::ril_proto::RILEVDOSignalStrength::Clear();
-  _clear_bit(2);
-}
-inline const ::ril_proto::RILEVDOSignalStrength& RspSignalStrength::evdo_signalstrength() const {
-  return evdo_signalstrength_ != NULL ? *evdo_signalstrength_ : *default_instance_->evdo_signalstrength_;
-}
-inline ::ril_proto::RILEVDOSignalStrength* RspSignalStrength::mutable_evdo_signalstrength() {
-  _set_bit(2);
-  if (evdo_signalstrength_ == NULL) evdo_signalstrength_ = new ::ril_proto::RILEVDOSignalStrength;
-  return evdo_signalstrength_;
-}
-
-// -------------------------------------------------------------------
-
-// RspOperator
-
-// optional string long_alpha_ons = 1;
-inline bool RspOperator::has_long_alpha_ons() const {
-  return _has_bit(0);
-}
-inline void RspOperator::clear_long_alpha_ons() {
-  if (long_alpha_ons_ != &_default_long_alpha_ons_) {
-    long_alpha_ons_->clear();
-  }
-  _clear_bit(0);
-}
-inline const ::std::string& RspOperator::long_alpha_ons() const {
-  return *long_alpha_ons_;
-}
-inline void RspOperator::set_long_alpha_ons(const ::std::string& value) {
-  _set_bit(0);
-  if (long_alpha_ons_ == &_default_long_alpha_ons_) {
-    long_alpha_ons_ = new ::std::string;
-  }
-  long_alpha_ons_->assign(value);
-}
-inline void RspOperator::set_long_alpha_ons(const char* value) {
-  _set_bit(0);
-  if (long_alpha_ons_ == &_default_long_alpha_ons_) {
-    long_alpha_ons_ = new ::std::string;
-  }
-  long_alpha_ons_->assign(value);
-}
-inline void RspOperator::set_long_alpha_ons(const char* value, size_t size) {
-  _set_bit(0);
-  if (long_alpha_ons_ == &_default_long_alpha_ons_) {
-    long_alpha_ons_ = new ::std::string;
-  }
-  long_alpha_ons_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RspOperator::mutable_long_alpha_ons() {
-  _set_bit(0);
-  if (long_alpha_ons_ == &_default_long_alpha_ons_) {
-    long_alpha_ons_ = new ::std::string;
-  }
-  return long_alpha_ons_;
-}
-
-// optional string short_alpha_ons = 2;
-inline bool RspOperator::has_short_alpha_ons() const {
-  return _has_bit(1);
-}
-inline void RspOperator::clear_short_alpha_ons() {
-  if (short_alpha_ons_ != &_default_short_alpha_ons_) {
-    short_alpha_ons_->clear();
-  }
-  _clear_bit(1);
-}
-inline const ::std::string& RspOperator::short_alpha_ons() const {
-  return *short_alpha_ons_;
-}
-inline void RspOperator::set_short_alpha_ons(const ::std::string& value) {
-  _set_bit(1);
-  if (short_alpha_ons_ == &_default_short_alpha_ons_) {
-    short_alpha_ons_ = new ::std::string;
-  }
-  short_alpha_ons_->assign(value);
-}
-inline void RspOperator::set_short_alpha_ons(const char* value) {
-  _set_bit(1);
-  if (short_alpha_ons_ == &_default_short_alpha_ons_) {
-    short_alpha_ons_ = new ::std::string;
-  }
-  short_alpha_ons_->assign(value);
-}
-inline void RspOperator::set_short_alpha_ons(const char* value, size_t size) {
-  _set_bit(1);
-  if (short_alpha_ons_ == &_default_short_alpha_ons_) {
-    short_alpha_ons_ = new ::std::string;
-  }
-  short_alpha_ons_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RspOperator::mutable_short_alpha_ons() {
-  _set_bit(1);
-  if (short_alpha_ons_ == &_default_short_alpha_ons_) {
-    short_alpha_ons_ = new ::std::string;
-  }
-  return short_alpha_ons_;
-}
-
-// optional string mcc_mnc = 3;
-inline bool RspOperator::has_mcc_mnc() const {
-  return _has_bit(2);
-}
-inline void RspOperator::clear_mcc_mnc() {
-  if (mcc_mnc_ != &_default_mcc_mnc_) {
-    mcc_mnc_->clear();
-  }
-  _clear_bit(2);
-}
-inline const ::std::string& RspOperator::mcc_mnc() const {
-  return *mcc_mnc_;
-}
-inline void RspOperator::set_mcc_mnc(const ::std::string& value) {
-  _set_bit(2);
-  if (mcc_mnc_ == &_default_mcc_mnc_) {
-    mcc_mnc_ = new ::std::string;
-  }
-  mcc_mnc_->assign(value);
-}
-inline void RspOperator::set_mcc_mnc(const char* value) {
-  _set_bit(2);
-  if (mcc_mnc_ == &_default_mcc_mnc_) {
-    mcc_mnc_ = new ::std::string;
-  }
-  mcc_mnc_->assign(value);
-}
-inline void RspOperator::set_mcc_mnc(const char* value, size_t size) {
-  _set_bit(2);
-  if (mcc_mnc_ == &_default_mcc_mnc_) {
-    mcc_mnc_ = new ::std::string;
-  }
-  mcc_mnc_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* RspOperator::mutable_mcc_mnc() {
-  _set_bit(2);
-  if (mcc_mnc_ == &_default_mcc_mnc_) {
-    mcc_mnc_ = new ::std::string;
-  }
-  return mcc_mnc_;
-}
-
-// -------------------------------------------------------------------
-
-// ReqSeparateConnection
-
-// required int32 index = 1;
-inline bool ReqSeparateConnection::has_index() const {
-  return _has_bit(0);
-}
-inline void ReqSeparateConnection::clear_index() {
-  index_ = 0;
-  _clear_bit(0);
-}
-inline ::google::protobuf::int32 ReqSeparateConnection::index() const {
-  return index_;
-}
-inline void ReqSeparateConnection::set_index(::google::protobuf::int32 value) {
-  _set_bit(0);
-  index_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// ReqSetMute
-
-// required bool state = 1;
-inline bool ReqSetMute::has_state() const {
-  return _has_bit(0);
-}
-inline void ReqSetMute::clear_state() {
-  state_ = false;
-  _clear_bit(0);
-}
-inline bool ReqSetMute::state() const {
-  return state_;
-}
-inline void ReqSetMute::set_state(bool value) {
-  _set_bit(0);
-  state_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// ReqScreenState
-
-// required bool state = 1;
-inline bool ReqScreenState::has_state() const {
-  return _has_bit(0);
-}
-inline void ReqScreenState::clear_state() {
-  state_ = false;
-  _clear_bit(0);
-}
-inline bool ReqScreenState::state() const {
-  return state_;
-}
-inline void ReqScreenState::set_state(bool value) {
-  _set_bit(0);
-  state_ = value;
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace ril_proto
-
-#ifndef SWIG
-namespace google {
-namespace protobuf {
-
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RadioState>() {
-  return ril_proto::RadioState_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilCardState>() {
-  return ril_proto::RilCardState_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilPersoSubstate>() {
-  return ril_proto::RilPersoSubstate_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilAppState>() {
-  return ril_proto::RilAppState_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilPinState>() {
-  return ril_proto::RilPinState_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilAppType>() {
-  return ril_proto::RilAppType_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilUusType>() {
-  return ril_proto::RilUusType_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilUusDcs>() {
-  return ril_proto::RilUusDcs_descriptor();
-}
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ril_proto::RilCallState>() {
-  return ril_proto::RilCallState_descriptor();
-}
-
-}  // namespace google
-}  // namespace protobuf
-#endif  // SWIG
-
-// @@protoc_insertion_point(global_scope)
-
-#endif  // PROTOBUF_ril_2eproto__INCLUDED
diff --git a/mock-ril/src/generated/desc/ctrl.desc b/mock-ril/src/generated/desc/ctrl.desc
deleted file mode 100644
index f98fd96..0000000
--- a/mock-ril/src/generated/desc/ctrl.desc
+++ /dev/null
Binary files differ
diff --git a/mock-ril/src/generated/desc/msgheader.desc b/mock-ril/src/generated/desc/msgheader.desc
deleted file mode 100644
index 22ea028..0000000
--- a/mock-ril/src/generated/desc/msgheader.desc
+++ /dev/null
Binary files differ
diff --git a/mock-ril/src/generated/desc/ril.desc b/mock-ril/src/generated/desc/ril.desc
deleted file mode 100644
index 9d40db3..0000000
--- a/mock-ril/src/generated/desc/ril.desc
+++ /dev/null
Binary files differ
diff --git a/mock-ril/src/generated/java/com/android/internal/communication/MsgHeader.java b/mock-ril/src/generated/java/com/android/internal/communication/MsgHeader.java
deleted file mode 100644
index 6d756d4..0000000
--- a/mock-ril/src/generated/java/com/android/internal/communication/MsgHeader.java
+++ /dev/null
@@ -1,185 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-package com.android.internal.communication;
-
-public  final class MsgHeader extends
-    com.google.protobuf.micro.MessageMicro {
-  public MsgHeader() {}
-  
-  // required uint32 cmd = 1;
-  public static final int CMD_FIELD_NUMBER = 1;
-  private boolean hasCmd;
-  private int cmd_ = 0;
-  public int getCmd() { return cmd_; }
-  public boolean hasCmd() { return hasCmd; }
-  public MsgHeader setCmd(int value) {
-    hasCmd = true;
-    cmd_ = value;
-    return this;
-  }
-  public MsgHeader clearCmd() {
-    hasCmd = false;
-    cmd_ = 0;
-    return this;
-  }
-  
-  // required uint32 length_data = 2;
-  public static final int LENGTH_DATA_FIELD_NUMBER = 2;
-  private boolean hasLengthData;
-  private int lengthData_ = 0;
-  public int getLengthData() { return lengthData_; }
-  public boolean hasLengthData() { return hasLengthData; }
-  public MsgHeader setLengthData(int value) {
-    hasLengthData = true;
-    lengthData_ = value;
-    return this;
-  }
-  public MsgHeader clearLengthData() {
-    hasLengthData = false;
-    lengthData_ = 0;
-    return this;
-  }
-  
-  // optional uint32 status = 3;
-  public static final int STATUS_FIELD_NUMBER = 3;
-  private boolean hasStatus;
-  private int status_ = 0;
-  public int getStatus() { return status_; }
-  public boolean hasStatus() { return hasStatus; }
-  public MsgHeader setStatus(int value) {
-    hasStatus = true;
-    status_ = value;
-    return this;
-  }
-  public MsgHeader clearStatus() {
-    hasStatus = false;
-    status_ = 0;
-    return this;
-  }
-  
-  // optional uint64 token = 4;
-  public static final int TOKEN_FIELD_NUMBER = 4;
-  private boolean hasToken;
-  private long token_ = 0L;
-  public long getToken() { return token_; }
-  public boolean hasToken() { return hasToken; }
-  public MsgHeader setToken(long value) {
-    hasToken = true;
-    token_ = value;
-    return this;
-  }
-  public MsgHeader clearToken() {
-    hasToken = false;
-    token_ = 0L;
-    return this;
-  }
-  
-  public final MsgHeader clear() {
-    clearCmd();
-    clearLengthData();
-    clearStatus();
-    clearToken();
-    cachedSize = -1;
-    return this;
-  }
-  
-  public final boolean isInitialized() {
-    if (!hasCmd) return false;
-    if (!hasLengthData) return false;
-    return true;
-  }
-  
-  public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                      throws java.io.IOException {
-    if (hasCmd()) {
-      output.writeUInt32(1, getCmd());
-    }
-    if (hasLengthData()) {
-      output.writeUInt32(2, getLengthData());
-    }
-    if (hasStatus()) {
-      output.writeUInt32(3, getStatus());
-    }
-    if (hasToken()) {
-      output.writeUInt64(4, getToken());
-    }
-  }
-  
-  private int cachedSize = -1;
-  public int getCachedSize() {
-    if (cachedSize < 0) {
-      // getSerializedSize sets cachedSize
-      getSerializedSize();
-    }
-    return cachedSize;
-  }
-  
-  public int getSerializedSize() {
-    int size = 0;
-    if (hasCmd()) {
-      size += com.google.protobuf.micro.CodedOutputStreamMicro
-        .computeUInt32Size(1, getCmd());
-    }
-    if (hasLengthData()) {
-      size += com.google.protobuf.micro.CodedOutputStreamMicro
-        .computeUInt32Size(2, getLengthData());
-    }
-    if (hasStatus()) {
-      size += com.google.protobuf.micro.CodedOutputStreamMicro
-        .computeUInt32Size(3, getStatus());
-    }
-    if (hasToken()) {
-      size += com.google.protobuf.micro.CodedOutputStreamMicro
-        .computeUInt64Size(4, getToken());
-    }
-    cachedSize = size;
-    return size;
-  }
-  
-  public MsgHeader mergeFrom(
-      com.google.protobuf.micro.CodedInputStreamMicro input)
-      throws java.io.IOException {
-    while (true) {
-      int tag = input.readTag();
-      switch (tag) {
-        case 0:
-          return this;
-        default: {
-          if (!parseUnknownField(input, tag)) {
-            return this;
-          }
-          break;
-        }
-        case 8: {
-          setCmd(input.readUInt32());
-          break;
-        }
-        case 16: {
-          setLengthData(input.readUInt32());
-          break;
-        }
-        case 24: {
-          setStatus(input.readUInt32());
-          break;
-        }
-        case 32: {
-          setToken(input.readUInt64());
-          break;
-        }
-      }
-    }
-  }
-  
-  public static MsgHeader parseFrom(byte[] data)
-      throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-    return (MsgHeader) (new MsgHeader().mergeFrom(data));
-  }
-  
-  public static MsgHeader parseFrom(
-          com.google.protobuf.micro.CodedInputStreamMicro input)
-      throws java.io.IOException {
-    return (MsgHeader) (new MsgHeader().mergeFrom(input));
-  }
-  
-}
-
diff --git a/mock-ril/src/generated/java/com/android/internal/telephony/ril_proto/RilCmds.java b/mock-ril/src/generated/java/com/android/internal/telephony/ril_proto/RilCmds.java
deleted file mode 100644
index a7154db..0000000
--- a/mock-ril/src/generated/java/com/android/internal/telephony/ril_proto/RilCmds.java
+++ /dev/null
@@ -1,3213 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-package com.android.internal.telephony.ril_proto;
-
-public final class RilCmds {
-  private RilCmds() {}
-  // enum RadioState
-  public static final int RADIOSTATE_OFF = 0;
-  public static final int RADIOSTATE_UNAVAILABLE = 1;
-  public static final int RADIOSTATE_SIM_NOT_READY = 2;
-  public static final int RADIOSTATE_SIM_LOCKED_OR_ABSENT = 3;
-  public static final int RADIOSTATE_SIM_READY = 4;
-  public static final int RADIOSTATE_RUIM_NOT_READY = 5;
-  public static final int RADIOSTATE_RUIM_READY = 6;
-  public static final int RADIOSTATE_RUIM_LOCKED_OR_ABSENT = 7;
-  public static final int RADIOSTATE_NV_NOT_READY = 8;
-  public static final int RADIOSTATE_NV_READY = 9;
-  
-  // enum RilCardState
-  public static final int CARDSTATE_ABSENT = 0;
-  public static final int CARDSTATE_PRESENT = 1;
-  public static final int CARDSTATE_ERROR = 2;
-  
-  // enum RilPersoSubstate
-  public static final int PERSOSUBSTATE_UNKNOWN = 0;
-  public static final int PERSOSUBSTATE_IN_PROGRESS = 1;
-  public static final int PERSOSUBSTATE_READY = 2;
-  public static final int PERSOSUBSTATE_SIM_NETWORK = 3;
-  public static final int PERSOSUBSTATE_SIM_NETWORK_SUBSET = 4;
-  public static final int PERSOSUBSTATE_SIM_CORPORATE = 5;
-  public static final int PERSOSUBSTATE_SIM_SERVICE_PROVIDER = 6;
-  public static final int PERSOSUBSTATE_SIM_SIM = 7;
-  public static final int PERSOSUBSTATE_SIM_NETWORK_PUK = 8;
-  public static final int PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK = 9;
-  public static final int PERSOSUBSTATE_SIM_CORPORATE_PUK = 10;
-  public static final int PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK = 11;
-  public static final int PERSOSUBSTATE_SIM_SIM_PUK = 12;
-  public static final int PERSOSUBSTATE_RUIM_NETWORK1 = 13;
-  public static final int PERSOSUBSTATE_RUIM_NETWORK2 = 14;
-  public static final int PERSOSUBSTATE_RUIM_HRPD = 15;
-  public static final int PERSOSUBSTATE_RUIM_CORPORATE = 16;
-  public static final int PERSOSUBSTATE_RUIM_SERVICE_PROVIDER = 17;
-  public static final int PERSOSUBSTATE_RUIM_RUIM = 18;
-  public static final int PERSOSUBSTATE_RUIM_NETWORK1_PUK = 19;
-  public static final int PERSOSUBSTATE_RUIM_NETWORK2_PUK = 20;
-  public static final int PERSOSUBSTATE_RUIM_HRPD_PUK = 21;
-  public static final int PERSOSUBSTATE_RUIM_CORPORATE_PUK = 22;
-  public static final int PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK = 23;
-  public static final int PERSOSUBSTATE_RUIM_RUIM_PUK = 24;
-  
-  // enum RilAppState
-  public static final int APPSTATE_UNKNOWN = 0;
-  public static final int APPSTATE_DETECTED = 1;
-  public static final int APPSTATE_PIN = 2;
-  public static final int APPSTATE_PUK = 3;
-  public static final int APPSTATE_SUBSCRIPTION_PERSO = 4;
-  public static final int APPSTATE_READY = 5;
-  
-  // enum RilPinState
-  public static final int PINSTATE_UNKNOWN = 0;
-  public static final int PINSTATE_ENABLED_NOT_VERIFIED = 1;
-  public static final int PINSTATE_ENABLED_VERIFIED = 2;
-  public static final int PINSTATE_DISABLED = 3;
-  public static final int PINSTATE_ENABLED_BLOCKED = 4;
-  public static final int PINSTATE_ENABLED_PERM_BLOCKED = 5;
-  
-  // enum RilAppType
-  public static final int APPTYPE_UNKNOWN = 0;
-  public static final int APPTYPE_SIM = 1;
-  public static final int APPTYPE_USIM = 2;
-  public static final int APPTYPE_RUIM = 3;
-  public static final int APPTYPE_CSIM = 4;
-  
-  // enum RilUusType
-  public static final int RILUUSTYPE1_IMPLICIT = 0;
-  public static final int RILUUSTYPE1_REQUIRED = 1;
-  public static final int RILUUSTYPE1_NOT_REQUIRED = 2;
-  public static final int RILUUSTYPE2_REQUIRED = 3;
-  public static final int RILUUSTYPE2_NOT_REQUIRED = 4;
-  public static final int RILUUSTYPE3_REQUIRED = 5;
-  public static final int RILUUSTYPE3_NOT_REQUIRED = 6;
-  
-  // enum RilUusDcs
-  public static final int RILUUSDCS_USP = 0;
-  public static final int RILUUSDCS_OSIHLP = 1;
-  public static final int RILUUSDCS_X244 = 2;
-  public static final int RILUUSDCS_RMCF = 3;
-  public static final int RILUUSDCS_IA5c = 4;
-  
-  // enum RilCallState
-  public static final int CALLSTATE_ACTIVE = 0;
-  public static final int CALLSTATE_HOLDING = 1;
-  public static final int CALLSTATE_DIALING = 2;
-  public static final int CALLSTATE_ALERTING = 3;
-  public static final int CALLSTATE_INCOMING = 4;
-  public static final int CALLSTATE_WAITING = 5;
-  
-  public static final class RilAppStatus extends
-      com.google.protobuf.micro.MessageMicro {
-    public RilAppStatus() {}
-    
-    // optional .ril_proto.RilAppType app_type = 1;
-    public static final int APP_TYPE_FIELD_NUMBER = 1;
-    private boolean hasAppType;
-    private int appType_ = com.android.internal.telephony.ril_proto.RilCmds.APPTYPE_UNKNOWN;
-    public boolean hasAppType() { return hasAppType; }
-    public int getAppType() { return appType_; }
-    public RilAppStatus setAppType(int value) {
-      hasAppType = true;
-      appType_ = value;
-      return this;
-    }
-    public RilAppStatus clearAppType() {
-      hasAppType = false;
-      appType_ = com.android.internal.telephony.ril_proto.RilCmds.APPTYPE_UNKNOWN;
-      return this;
-    }
-    
-    // optional .ril_proto.RilAppState app_state = 2;
-    public static final int APP_STATE_FIELD_NUMBER = 2;
-    private boolean hasAppState;
-    private int appState_ = com.android.internal.telephony.ril_proto.RilCmds.APPSTATE_UNKNOWN;
-    public boolean hasAppState() { return hasAppState; }
-    public int getAppState() { return appState_; }
-    public RilAppStatus setAppState(int value) {
-      hasAppState = true;
-      appState_ = value;
-      return this;
-    }
-    public RilAppStatus clearAppState() {
-      hasAppState = false;
-      appState_ = com.android.internal.telephony.ril_proto.RilCmds.APPSTATE_UNKNOWN;
-      return this;
-    }
-    
-    // optional .ril_proto.RilPersoSubstate perso_substate = 3;
-    public static final int PERSO_SUBSTATE_FIELD_NUMBER = 3;
-    private boolean hasPersoSubstate;
-    private int persoSubstate_ = com.android.internal.telephony.ril_proto.RilCmds.PERSOSUBSTATE_UNKNOWN;
-    public boolean hasPersoSubstate() { return hasPersoSubstate; }
-    public int getPersoSubstate() { return persoSubstate_; }
-    public RilAppStatus setPersoSubstate(int value) {
-      hasPersoSubstate = true;
-      persoSubstate_ = value;
-      return this;
-    }
-    public RilAppStatus clearPersoSubstate() {
-      hasPersoSubstate = false;
-      persoSubstate_ = com.android.internal.telephony.ril_proto.RilCmds.PERSOSUBSTATE_UNKNOWN;
-      return this;
-    }
-    
-    // optional string aid = 4;
-    public static final int AID_FIELD_NUMBER = 4;
-    private boolean hasAid;
-    private java.lang.String aid_ = "";
-    public java.lang.String getAid() { return aid_; }
-    public boolean hasAid() { return hasAid; }
-    public RilAppStatus setAid(java.lang.String value) {
-      hasAid = true;
-      aid_ = value;
-      return this;
-    }
-    public RilAppStatus clearAid() {
-      hasAid = false;
-      aid_ = "";
-      return this;
-    }
-    
-    // optional string app_label = 5;
-    public static final int APP_LABEL_FIELD_NUMBER = 5;
-    private boolean hasAppLabel;
-    private java.lang.String appLabel_ = "";
-    public java.lang.String getAppLabel() { return appLabel_; }
-    public boolean hasAppLabel() { return hasAppLabel; }
-    public RilAppStatus setAppLabel(java.lang.String value) {
-      hasAppLabel = true;
-      appLabel_ = value;
-      return this;
-    }
-    public RilAppStatus clearAppLabel() {
-      hasAppLabel = false;
-      appLabel_ = "";
-      return this;
-    }
-    
-    // optional int32 pin1_replaced = 6;
-    public static final int PIN1_REPLACED_FIELD_NUMBER = 6;
-    private boolean hasPin1Replaced;
-    private int pin1Replaced_ = 0;
-    public int getPin1Replaced() { return pin1Replaced_; }
-    public boolean hasPin1Replaced() { return hasPin1Replaced; }
-    public RilAppStatus setPin1Replaced(int value) {
-      hasPin1Replaced = true;
-      pin1Replaced_ = value;
-      return this;
-    }
-    public RilAppStatus clearPin1Replaced() {
-      hasPin1Replaced = false;
-      pin1Replaced_ = 0;
-      return this;
-    }
-    
-    // optional .ril_proto.RilPinState pin1 = 7;
-    public static final int PIN1_FIELD_NUMBER = 7;
-    private boolean hasPin1;
-    private int pin1_ = com.android.internal.telephony.ril_proto.RilCmds.PINSTATE_UNKNOWN;
-    public boolean hasPin1() { return hasPin1; }
-    public int getPin1() { return pin1_; }
-    public RilAppStatus setPin1(int value) {
-      hasPin1 = true;
-      pin1_ = value;
-      return this;
-    }
-    public RilAppStatus clearPin1() {
-      hasPin1 = false;
-      pin1_ = com.android.internal.telephony.ril_proto.RilCmds.PINSTATE_UNKNOWN;
-      return this;
-    }
-    
-    // optional .ril_proto.RilPinState pin2 = 8;
-    public static final int PIN2_FIELD_NUMBER = 8;
-    private boolean hasPin2;
-    private int pin2_ = com.android.internal.telephony.ril_proto.RilCmds.PINSTATE_UNKNOWN;
-    public boolean hasPin2() { return hasPin2; }
-    public int getPin2() { return pin2_; }
-    public RilAppStatus setPin2(int value) {
-      hasPin2 = true;
-      pin2_ = value;
-      return this;
-    }
-    public RilAppStatus clearPin2() {
-      hasPin2 = false;
-      pin2_ = com.android.internal.telephony.ril_proto.RilCmds.PINSTATE_UNKNOWN;
-      return this;
-    }
-    
-    public final RilAppStatus clear() {
-      clearAppType();
-      clearAppState();
-      clearPersoSubstate();
-      clearAid();
-      clearAppLabel();
-      clearPin1Replaced();
-      clearPin1();
-      clearPin2();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasAppType()) {
-        output.writeInt32(1, getAppType());
-      }
-      if (hasAppState()) {
-        output.writeInt32(2, getAppState());
-      }
-      if (hasPersoSubstate()) {
-        output.writeInt32(3, getPersoSubstate());
-      }
-      if (hasAid()) {
-        output.writeString(4, getAid());
-      }
-      if (hasAppLabel()) {
-        output.writeString(5, getAppLabel());
-      }
-      if (hasPin1Replaced()) {
-        output.writeInt32(6, getPin1Replaced());
-      }
-      if (hasPin1()) {
-        output.writeInt32(7, getPin1());
-      }
-      if (hasPin2()) {
-        output.writeInt32(8, getPin2());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasAppType()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getAppType());
-      }
-      if (hasAppState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getAppState());
-      }
-      if (hasPersoSubstate()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(3, getPersoSubstate());
-      }
-      if (hasAid()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(4, getAid());
-      }
-      if (hasAppLabel()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(5, getAppLabel());
-      }
-      if (hasPin1Replaced()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(6, getPin1Replaced());
-      }
-      if (hasPin1()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(7, getPin1());
-      }
-      if (hasPin2()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(8, getPin2());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RilAppStatus mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-              setAppType(input.readInt32());
-            break;
-          }
-          case 16: {
-              setAppState(input.readInt32());
-            break;
-          }
-          case 24: {
-              setPersoSubstate(input.readInt32());
-            break;
-          }
-          case 34: {
-            setAid(input.readString());
-            break;
-          }
-          case 42: {
-            setAppLabel(input.readString());
-            break;
-          }
-          case 48: {
-            setPin1Replaced(input.readInt32());
-            break;
-          }
-          case 56: {
-              setPin1(input.readInt32());
-            break;
-          }
-          case 64: {
-              setPin2(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RilAppStatus parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RilAppStatus) (new RilAppStatus().mergeFrom(data));
-    }
-    
-    public static RilAppStatus parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RilAppStatus) (new RilAppStatus().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RilCardStatus extends
-      com.google.protobuf.micro.MessageMicro {
-    public RilCardStatus() {}
-    
-    // optional .ril_proto.RilCardState card_state = 1;
-    public static final int CARD_STATE_FIELD_NUMBER = 1;
-    private boolean hasCardState;
-    private int cardState_ = com.android.internal.telephony.ril_proto.RilCmds.CARDSTATE_ABSENT;
-    public boolean hasCardState() { return hasCardState; }
-    public int getCardState() { return cardState_; }
-    public RilCardStatus setCardState(int value) {
-      hasCardState = true;
-      cardState_ = value;
-      return this;
-    }
-    public RilCardStatus clearCardState() {
-      hasCardState = false;
-      cardState_ = com.android.internal.telephony.ril_proto.RilCmds.CARDSTATE_ABSENT;
-      return this;
-    }
-    
-    // optional .ril_proto.RilPinState universal_pin_state = 2;
-    public static final int UNIVERSAL_PIN_STATE_FIELD_NUMBER = 2;
-    private boolean hasUniversalPinState;
-    private int universalPinState_ = com.android.internal.telephony.ril_proto.RilCmds.PINSTATE_UNKNOWN;
-    public boolean hasUniversalPinState() { return hasUniversalPinState; }
-    public int getUniversalPinState() { return universalPinState_; }
-    public RilCardStatus setUniversalPinState(int value) {
-      hasUniversalPinState = true;
-      universalPinState_ = value;
-      return this;
-    }
-    public RilCardStatus clearUniversalPinState() {
-      hasUniversalPinState = false;
-      universalPinState_ = com.android.internal.telephony.ril_proto.RilCmds.PINSTATE_UNKNOWN;
-      return this;
-    }
-    
-    // optional int32 gsm_umts_subscription_app_index = 3;
-    public static final int GSM_UMTS_SUBSCRIPTION_APP_INDEX_FIELD_NUMBER = 3;
-    private boolean hasGsmUmtsSubscriptionAppIndex;
-    private int gsmUmtsSubscriptionAppIndex_ = 0;
-    public int getGsmUmtsSubscriptionAppIndex() { return gsmUmtsSubscriptionAppIndex_; }
-    public boolean hasGsmUmtsSubscriptionAppIndex() { return hasGsmUmtsSubscriptionAppIndex; }
-    public RilCardStatus setGsmUmtsSubscriptionAppIndex(int value) {
-      hasGsmUmtsSubscriptionAppIndex = true;
-      gsmUmtsSubscriptionAppIndex_ = value;
-      return this;
-    }
-    public RilCardStatus clearGsmUmtsSubscriptionAppIndex() {
-      hasGsmUmtsSubscriptionAppIndex = false;
-      gsmUmtsSubscriptionAppIndex_ = 0;
-      return this;
-    }
-    
-    // optional int32 cdma_subscription_app_index = 4;
-    public static final int CDMA_SUBSCRIPTION_APP_INDEX_FIELD_NUMBER = 4;
-    private boolean hasCdmaSubscriptionAppIndex;
-    private int cdmaSubscriptionAppIndex_ = 0;
-    public int getCdmaSubscriptionAppIndex() { return cdmaSubscriptionAppIndex_; }
-    public boolean hasCdmaSubscriptionAppIndex() { return hasCdmaSubscriptionAppIndex; }
-    public RilCardStatus setCdmaSubscriptionAppIndex(int value) {
-      hasCdmaSubscriptionAppIndex = true;
-      cdmaSubscriptionAppIndex_ = value;
-      return this;
-    }
-    public RilCardStatus clearCdmaSubscriptionAppIndex() {
-      hasCdmaSubscriptionAppIndex = false;
-      cdmaSubscriptionAppIndex_ = 0;
-      return this;
-    }
-    
-    // optional int32 num_applications = 5;
-    public static final int NUM_APPLICATIONS_FIELD_NUMBER = 5;
-    private boolean hasNumApplications;
-    private int numApplications_ = 0;
-    public int getNumApplications() { return numApplications_; }
-    public boolean hasNumApplications() { return hasNumApplications; }
-    public RilCardStatus setNumApplications(int value) {
-      hasNumApplications = true;
-      numApplications_ = value;
-      return this;
-    }
-    public RilCardStatus clearNumApplications() {
-      hasNumApplications = false;
-      numApplications_ = 0;
-      return this;
-    }
-    
-    // repeated .ril_proto.RilAppStatus applications = 6;
-    public static final int APPLICATIONS_FIELD_NUMBER = 6;
-    private java.util.List<com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus> applications_ =
-      java.util.Collections.emptyList();
-    public java.util.List<com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus> getApplicationsList() {
-      return applications_;
-    }
-    public int getApplicationsCount() { return applications_.size(); }
-    public com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus getApplications(int index) {
-      return applications_.get(index);
-    }
-    public RilCardStatus setApplications(int index, com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      applications_.set(index, value);
-      return this;
-    }
-    public RilCardStatus addApplications(com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      if (applications_.isEmpty()) {
-        applications_ = new java.util.ArrayList<com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus>();
-      }
-      applications_.add(value);
-      return this;
-    }
-    public RilCardStatus clearApplications() {
-      applications_ = java.util.Collections.emptyList();
-      return this;
-    }
-    
-    public final RilCardStatus clear() {
-      clearCardState();
-      clearUniversalPinState();
-      clearGsmUmtsSubscriptionAppIndex();
-      clearCdmaSubscriptionAppIndex();
-      clearNumApplications();
-      clearApplications();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasCardState()) {
-        output.writeInt32(1, getCardState());
-      }
-      if (hasUniversalPinState()) {
-        output.writeInt32(2, getUniversalPinState());
-      }
-      if (hasGsmUmtsSubscriptionAppIndex()) {
-        output.writeInt32(3, getGsmUmtsSubscriptionAppIndex());
-      }
-      if (hasCdmaSubscriptionAppIndex()) {
-        output.writeInt32(4, getCdmaSubscriptionAppIndex());
-      }
-      if (hasNumApplications()) {
-        output.writeInt32(5, getNumApplications());
-      }
-      for (com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus element : getApplicationsList()) {
-        output.writeMessage(6, element);
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasCardState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getCardState());
-      }
-      if (hasUniversalPinState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getUniversalPinState());
-      }
-      if (hasGsmUmtsSubscriptionAppIndex()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(3, getGsmUmtsSubscriptionAppIndex());
-      }
-      if (hasCdmaSubscriptionAppIndex()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(4, getCdmaSubscriptionAppIndex());
-      }
-      if (hasNumApplications()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(5, getNumApplications());
-      }
-      for (com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus element : getApplicationsList()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(6, element);
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RilCardStatus mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-              setCardState(input.readInt32());
-            break;
-          }
-          case 16: {
-              setUniversalPinState(input.readInt32());
-            break;
-          }
-          case 24: {
-            setGsmUmtsSubscriptionAppIndex(input.readInt32());
-            break;
-          }
-          case 32: {
-            setCdmaSubscriptionAppIndex(input.readInt32());
-            break;
-          }
-          case 40: {
-            setNumApplications(input.readInt32());
-            break;
-          }
-          case 50: {
-            com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus value = new com.android.internal.telephony.ril_proto.RilCmds.RilAppStatus();
-            input.readMessage(value);
-            addApplications(value);
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RilCardStatus parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RilCardStatus) (new RilCardStatus().mergeFrom(data));
-    }
-    
-    public static RilCardStatus parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RilCardStatus) (new RilCardStatus().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RilUusInfo extends
-      com.google.protobuf.micro.MessageMicro {
-    public RilUusInfo() {}
-    
-    // optional .ril_proto.RilUusType uus_type = 1;
-    public static final int UUS_TYPE_FIELD_NUMBER = 1;
-    private boolean hasUusType;
-    private int uusType_ = com.android.internal.telephony.ril_proto.RilCmds.RILUUSTYPE1_IMPLICIT;
-    public boolean hasUusType() { return hasUusType; }
-    public int getUusType() { return uusType_; }
-    public RilUusInfo setUusType(int value) {
-      hasUusType = true;
-      uusType_ = value;
-      return this;
-    }
-    public RilUusInfo clearUusType() {
-      hasUusType = false;
-      uusType_ = com.android.internal.telephony.ril_proto.RilCmds.RILUUSTYPE1_IMPLICIT;
-      return this;
-    }
-    
-    // optional .ril_proto.RilUusDcs uus_dcs = 2;
-    public static final int UUS_DCS_FIELD_NUMBER = 2;
-    private boolean hasUusDcs;
-    private int uusDcs_ = com.android.internal.telephony.ril_proto.RilCmds.RILUUSDCS_USP;
-    public boolean hasUusDcs() { return hasUusDcs; }
-    public int getUusDcs() { return uusDcs_; }
-    public RilUusInfo setUusDcs(int value) {
-      hasUusDcs = true;
-      uusDcs_ = value;
-      return this;
-    }
-    public RilUusInfo clearUusDcs() {
-      hasUusDcs = false;
-      uusDcs_ = com.android.internal.telephony.ril_proto.RilCmds.RILUUSDCS_USP;
-      return this;
-    }
-    
-    // optional int32 uus_length = 3;
-    public static final int UUS_LENGTH_FIELD_NUMBER = 3;
-    private boolean hasUusLength;
-    private int uusLength_ = 0;
-    public int getUusLength() { return uusLength_; }
-    public boolean hasUusLength() { return hasUusLength; }
-    public RilUusInfo setUusLength(int value) {
-      hasUusLength = true;
-      uusLength_ = value;
-      return this;
-    }
-    public RilUusInfo clearUusLength() {
-      hasUusLength = false;
-      uusLength_ = 0;
-      return this;
-    }
-    
-    // optional string uus_data = 4;
-    public static final int UUS_DATA_FIELD_NUMBER = 4;
-    private boolean hasUusData;
-    private java.lang.String uusData_ = "";
-    public java.lang.String getUusData() { return uusData_; }
-    public boolean hasUusData() { return hasUusData; }
-    public RilUusInfo setUusData(java.lang.String value) {
-      hasUusData = true;
-      uusData_ = value;
-      return this;
-    }
-    public RilUusInfo clearUusData() {
-      hasUusData = false;
-      uusData_ = "";
-      return this;
-    }
-    
-    public final RilUusInfo clear() {
-      clearUusType();
-      clearUusDcs();
-      clearUusLength();
-      clearUusData();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasUusType()) {
-        output.writeInt32(1, getUusType());
-      }
-      if (hasUusDcs()) {
-        output.writeInt32(2, getUusDcs());
-      }
-      if (hasUusLength()) {
-        output.writeInt32(3, getUusLength());
-      }
-      if (hasUusData()) {
-        output.writeString(4, getUusData());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasUusType()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getUusType());
-      }
-      if (hasUusDcs()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getUusDcs());
-      }
-      if (hasUusLength()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(3, getUusLength());
-      }
-      if (hasUusData()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(4, getUusData());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RilUusInfo mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-              setUusType(input.readInt32());
-            break;
-          }
-          case 16: {
-              setUusDcs(input.readInt32());
-            break;
-          }
-          case 24: {
-            setUusLength(input.readInt32());
-            break;
-          }
-          case 34: {
-            setUusData(input.readString());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RilUusInfo parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RilUusInfo) (new RilUusInfo().mergeFrom(data));
-    }
-    
-    public static RilUusInfo parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RilUusInfo) (new RilUusInfo().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RilCall extends
-      com.google.protobuf.micro.MessageMicro {
-    public RilCall() {}
-    
-    // optional .ril_proto.RilCallState state = 1;
-    public static final int STATE_FIELD_NUMBER = 1;
-    private boolean hasState;
-    private int state_ = com.android.internal.telephony.ril_proto.RilCmds.CALLSTATE_ACTIVE;
-    public boolean hasState() { return hasState; }
-    public int getState() { return state_; }
-    public RilCall setState(int value) {
-      hasState = true;
-      state_ = value;
-      return this;
-    }
-    public RilCall clearState() {
-      hasState = false;
-      state_ = com.android.internal.telephony.ril_proto.RilCmds.CALLSTATE_ACTIVE;
-      return this;
-    }
-    
-    // optional int32 index = 2;
-    public static final int INDEX_FIELD_NUMBER = 2;
-    private boolean hasIndex;
-    private int index_ = 0;
-    public int getIndex() { return index_; }
-    public boolean hasIndex() { return hasIndex; }
-    public RilCall setIndex(int value) {
-      hasIndex = true;
-      index_ = value;
-      return this;
-    }
-    public RilCall clearIndex() {
-      hasIndex = false;
-      index_ = 0;
-      return this;
-    }
-    
-    // optional int32 toa = 3;
-    public static final int TOA_FIELD_NUMBER = 3;
-    private boolean hasToa;
-    private int toa_ = 0;
-    public int getToa() { return toa_; }
-    public boolean hasToa() { return hasToa; }
-    public RilCall setToa(int value) {
-      hasToa = true;
-      toa_ = value;
-      return this;
-    }
-    public RilCall clearToa() {
-      hasToa = false;
-      toa_ = 0;
-      return this;
-    }
-    
-    // optional bool is_mpty = 4;
-    public static final int IS_MPTY_FIELD_NUMBER = 4;
-    private boolean hasIsMpty;
-    private boolean isMpty_ = false;
-    public boolean getIsMpty() { return isMpty_; }
-    public boolean hasIsMpty() { return hasIsMpty; }
-    public RilCall setIsMpty(boolean value) {
-      hasIsMpty = true;
-      isMpty_ = value;
-      return this;
-    }
-    public RilCall clearIsMpty() {
-      hasIsMpty = false;
-      isMpty_ = false;
-      return this;
-    }
-    
-    // optional bool is_mt = 5;
-    public static final int IS_MT_FIELD_NUMBER = 5;
-    private boolean hasIsMt;
-    private boolean isMt_ = false;
-    public boolean getIsMt() { return isMt_; }
-    public boolean hasIsMt() { return hasIsMt; }
-    public RilCall setIsMt(boolean value) {
-      hasIsMt = true;
-      isMt_ = value;
-      return this;
-    }
-    public RilCall clearIsMt() {
-      hasIsMt = false;
-      isMt_ = false;
-      return this;
-    }
-    
-    // optional int32 als = 6;
-    public static final int ALS_FIELD_NUMBER = 6;
-    private boolean hasAls;
-    private int als_ = 0;
-    public int getAls() { return als_; }
-    public boolean hasAls() { return hasAls; }
-    public RilCall setAls(int value) {
-      hasAls = true;
-      als_ = value;
-      return this;
-    }
-    public RilCall clearAls() {
-      hasAls = false;
-      als_ = 0;
-      return this;
-    }
-    
-    // optional bool is_voice = 7;
-    public static final int IS_VOICE_FIELD_NUMBER = 7;
-    private boolean hasIsVoice;
-    private boolean isVoice_ = false;
-    public boolean getIsVoice() { return isVoice_; }
-    public boolean hasIsVoice() { return hasIsVoice; }
-    public RilCall setIsVoice(boolean value) {
-      hasIsVoice = true;
-      isVoice_ = value;
-      return this;
-    }
-    public RilCall clearIsVoice() {
-      hasIsVoice = false;
-      isVoice_ = false;
-      return this;
-    }
-    
-    // optional bool is_voice_privacy = 8;
-    public static final int IS_VOICE_PRIVACY_FIELD_NUMBER = 8;
-    private boolean hasIsVoicePrivacy;
-    private boolean isVoicePrivacy_ = false;
-    public boolean getIsVoicePrivacy() { return isVoicePrivacy_; }
-    public boolean hasIsVoicePrivacy() { return hasIsVoicePrivacy; }
-    public RilCall setIsVoicePrivacy(boolean value) {
-      hasIsVoicePrivacy = true;
-      isVoicePrivacy_ = value;
-      return this;
-    }
-    public RilCall clearIsVoicePrivacy() {
-      hasIsVoicePrivacy = false;
-      isVoicePrivacy_ = false;
-      return this;
-    }
-    
-    // optional string number = 9;
-    public static final int NUMBER_FIELD_NUMBER = 9;
-    private boolean hasNumber;
-    private java.lang.String number_ = "";
-    public java.lang.String getNumber() { return number_; }
-    public boolean hasNumber() { return hasNumber; }
-    public RilCall setNumber(java.lang.String value) {
-      hasNumber = true;
-      number_ = value;
-      return this;
-    }
-    public RilCall clearNumber() {
-      hasNumber = false;
-      number_ = "";
-      return this;
-    }
-    
-    // optional int32 number_presentation = 10;
-    public static final int NUMBER_PRESENTATION_FIELD_NUMBER = 10;
-    private boolean hasNumberPresentation;
-    private int numberPresentation_ = 0;
-    public int getNumberPresentation() { return numberPresentation_; }
-    public boolean hasNumberPresentation() { return hasNumberPresentation; }
-    public RilCall setNumberPresentation(int value) {
-      hasNumberPresentation = true;
-      numberPresentation_ = value;
-      return this;
-    }
-    public RilCall clearNumberPresentation() {
-      hasNumberPresentation = false;
-      numberPresentation_ = 0;
-      return this;
-    }
-    
-    // optional string name = 11;
-    public static final int NAME_FIELD_NUMBER = 11;
-    private boolean hasName;
-    private java.lang.String name_ = "";
-    public java.lang.String getName() { return name_; }
-    public boolean hasName() { return hasName; }
-    public RilCall setName(java.lang.String value) {
-      hasName = true;
-      name_ = value;
-      return this;
-    }
-    public RilCall clearName() {
-      hasName = false;
-      name_ = "";
-      return this;
-    }
-    
-    // optional int32 name_presentation = 12;
-    public static final int NAME_PRESENTATION_FIELD_NUMBER = 12;
-    private boolean hasNamePresentation;
-    private int namePresentation_ = 0;
-    public int getNamePresentation() { return namePresentation_; }
-    public boolean hasNamePresentation() { return hasNamePresentation; }
-    public RilCall setNamePresentation(int value) {
-      hasNamePresentation = true;
-      namePresentation_ = value;
-      return this;
-    }
-    public RilCall clearNamePresentation() {
-      hasNamePresentation = false;
-      namePresentation_ = 0;
-      return this;
-    }
-    
-    // optional .ril_proto.RilUusInfo uus_info = 13;
-    public static final int UUS_INFO_FIELD_NUMBER = 13;
-    private boolean hasUusInfo;
-    private com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo uusInfo_ = null;
-    public boolean hasUusInfo() { return hasUusInfo; }
-    public com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo getUusInfo() { return uusInfo_; }
-    public RilCall setUusInfo(com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      hasUusInfo = true;
-      uusInfo_ = value;
-      return this;
-    }
-    public RilCall clearUusInfo() {
-      hasUusInfo = false;
-      uusInfo_ = null;
-      return this;
-    }
-    
-    public final RilCall clear() {
-      clearState();
-      clearIndex();
-      clearToa();
-      clearIsMpty();
-      clearIsMt();
-      clearAls();
-      clearIsVoice();
-      clearIsVoicePrivacy();
-      clearNumber();
-      clearNumberPresentation();
-      clearName();
-      clearNamePresentation();
-      clearUusInfo();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasState()) {
-        output.writeInt32(1, getState());
-      }
-      if (hasIndex()) {
-        output.writeInt32(2, getIndex());
-      }
-      if (hasToa()) {
-        output.writeInt32(3, getToa());
-      }
-      if (hasIsMpty()) {
-        output.writeBool(4, getIsMpty());
-      }
-      if (hasIsMt()) {
-        output.writeBool(5, getIsMt());
-      }
-      if (hasAls()) {
-        output.writeInt32(6, getAls());
-      }
-      if (hasIsVoice()) {
-        output.writeBool(7, getIsVoice());
-      }
-      if (hasIsVoicePrivacy()) {
-        output.writeBool(8, getIsVoicePrivacy());
-      }
-      if (hasNumber()) {
-        output.writeString(9, getNumber());
-      }
-      if (hasNumberPresentation()) {
-        output.writeInt32(10, getNumberPresentation());
-      }
-      if (hasName()) {
-        output.writeString(11, getName());
-      }
-      if (hasNamePresentation()) {
-        output.writeInt32(12, getNamePresentation());
-      }
-      if (hasUusInfo()) {
-        output.writeMessage(13, getUusInfo());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getState());
-      }
-      if (hasIndex()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getIndex());
-      }
-      if (hasToa()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(3, getToa());
-      }
-      if (hasIsMpty()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeBoolSize(4, getIsMpty());
-      }
-      if (hasIsMt()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeBoolSize(5, getIsMt());
-      }
-      if (hasAls()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(6, getAls());
-      }
-      if (hasIsVoice()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeBoolSize(7, getIsVoice());
-      }
-      if (hasIsVoicePrivacy()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeBoolSize(8, getIsVoicePrivacy());
-      }
-      if (hasNumber()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(9, getNumber());
-      }
-      if (hasNumberPresentation()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(10, getNumberPresentation());
-      }
-      if (hasName()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(11, getName());
-      }
-      if (hasNamePresentation()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(12, getNamePresentation());
-      }
-      if (hasUusInfo()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(13, getUusInfo());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RilCall mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-              setState(input.readInt32());
-            break;
-          }
-          case 16: {
-            setIndex(input.readInt32());
-            break;
-          }
-          case 24: {
-            setToa(input.readInt32());
-            break;
-          }
-          case 32: {
-            setIsMpty(input.readBool());
-            break;
-          }
-          case 40: {
-            setIsMt(input.readBool());
-            break;
-          }
-          case 48: {
-            setAls(input.readInt32());
-            break;
-          }
-          case 56: {
-            setIsVoice(input.readBool());
-            break;
-          }
-          case 64: {
-            setIsVoicePrivacy(input.readBool());
-            break;
-          }
-          case 74: {
-            setNumber(input.readString());
-            break;
-          }
-          case 80: {
-            setNumberPresentation(input.readInt32());
-            break;
-          }
-          case 90: {
-            setName(input.readString());
-            break;
-          }
-          case 96: {
-            setNamePresentation(input.readInt32());
-            break;
-          }
-          case 106: {
-            com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo value = new com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo();
-            input.readMessage(value);
-            setUusInfo(value);
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RilCall parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RilCall) (new RilCall().mergeFrom(data));
-    }
-    
-    public static RilCall parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RilCall) (new RilCall().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RILGWSignalStrength extends
-      com.google.protobuf.micro.MessageMicro {
-    public RILGWSignalStrength() {}
-    
-    // optional int32 signal_strength = 1;
-    public static final int SIGNAL_STRENGTH_FIELD_NUMBER = 1;
-    private boolean hasSignalStrength;
-    private int signalStrength_ = 0;
-    public int getSignalStrength() { return signalStrength_; }
-    public boolean hasSignalStrength() { return hasSignalStrength; }
-    public RILGWSignalStrength setSignalStrength(int value) {
-      hasSignalStrength = true;
-      signalStrength_ = value;
-      return this;
-    }
-    public RILGWSignalStrength clearSignalStrength() {
-      hasSignalStrength = false;
-      signalStrength_ = 0;
-      return this;
-    }
-    
-    // optional int32 bit_error_rate = 2;
-    public static final int BIT_ERROR_RATE_FIELD_NUMBER = 2;
-    private boolean hasBitErrorRate;
-    private int bitErrorRate_ = 0;
-    public int getBitErrorRate() { return bitErrorRate_; }
-    public boolean hasBitErrorRate() { return hasBitErrorRate; }
-    public RILGWSignalStrength setBitErrorRate(int value) {
-      hasBitErrorRate = true;
-      bitErrorRate_ = value;
-      return this;
-    }
-    public RILGWSignalStrength clearBitErrorRate() {
-      hasBitErrorRate = false;
-      bitErrorRate_ = 0;
-      return this;
-    }
-    
-    public final RILGWSignalStrength clear() {
-      clearSignalStrength();
-      clearBitErrorRate();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasSignalStrength()) {
-        output.writeInt32(1, getSignalStrength());
-      }
-      if (hasBitErrorRate()) {
-        output.writeInt32(2, getBitErrorRate());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasSignalStrength()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getSignalStrength());
-      }
-      if (hasBitErrorRate()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getBitErrorRate());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RILGWSignalStrength mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setSignalStrength(input.readInt32());
-            break;
-          }
-          case 16: {
-            setBitErrorRate(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RILGWSignalStrength parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RILGWSignalStrength) (new RILGWSignalStrength().mergeFrom(data));
-    }
-    
-    public static RILGWSignalStrength parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RILGWSignalStrength) (new RILGWSignalStrength().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RILCDMASignalStrength extends
-      com.google.protobuf.micro.MessageMicro {
-    public RILCDMASignalStrength() {}
-    
-    // optional int32 dbm = 1;
-    public static final int DBM_FIELD_NUMBER = 1;
-    private boolean hasDbm;
-    private int dbm_ = 0;
-    public int getDbm() { return dbm_; }
-    public boolean hasDbm() { return hasDbm; }
-    public RILCDMASignalStrength setDbm(int value) {
-      hasDbm = true;
-      dbm_ = value;
-      return this;
-    }
-    public RILCDMASignalStrength clearDbm() {
-      hasDbm = false;
-      dbm_ = 0;
-      return this;
-    }
-    
-    // optional int32 ecio = 2;
-    public static final int ECIO_FIELD_NUMBER = 2;
-    private boolean hasEcio;
-    private int ecio_ = 0;
-    public int getEcio() { return ecio_; }
-    public boolean hasEcio() { return hasEcio; }
-    public RILCDMASignalStrength setEcio(int value) {
-      hasEcio = true;
-      ecio_ = value;
-      return this;
-    }
-    public RILCDMASignalStrength clearEcio() {
-      hasEcio = false;
-      ecio_ = 0;
-      return this;
-    }
-    
-    public final RILCDMASignalStrength clear() {
-      clearDbm();
-      clearEcio();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasDbm()) {
-        output.writeInt32(1, getDbm());
-      }
-      if (hasEcio()) {
-        output.writeInt32(2, getEcio());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasDbm()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getDbm());
-      }
-      if (hasEcio()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getEcio());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RILCDMASignalStrength mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setDbm(input.readInt32());
-            break;
-          }
-          case 16: {
-            setEcio(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RILCDMASignalStrength parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RILCDMASignalStrength) (new RILCDMASignalStrength().mergeFrom(data));
-    }
-    
-    public static RILCDMASignalStrength parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RILCDMASignalStrength) (new RILCDMASignalStrength().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RILEVDOSignalStrength extends
-      com.google.protobuf.micro.MessageMicro {
-    public RILEVDOSignalStrength() {}
-    
-    // optional int32 dbm = 1;
-    public static final int DBM_FIELD_NUMBER = 1;
-    private boolean hasDbm;
-    private int dbm_ = 0;
-    public int getDbm() { return dbm_; }
-    public boolean hasDbm() { return hasDbm; }
-    public RILEVDOSignalStrength setDbm(int value) {
-      hasDbm = true;
-      dbm_ = value;
-      return this;
-    }
-    public RILEVDOSignalStrength clearDbm() {
-      hasDbm = false;
-      dbm_ = 0;
-      return this;
-    }
-    
-    // optional int32 ecio = 2;
-    public static final int ECIO_FIELD_NUMBER = 2;
-    private boolean hasEcio;
-    private int ecio_ = 0;
-    public int getEcio() { return ecio_; }
-    public boolean hasEcio() { return hasEcio; }
-    public RILEVDOSignalStrength setEcio(int value) {
-      hasEcio = true;
-      ecio_ = value;
-      return this;
-    }
-    public RILEVDOSignalStrength clearEcio() {
-      hasEcio = false;
-      ecio_ = 0;
-      return this;
-    }
-    
-    // optional int32 signal_noise_ratio = 3;
-    public static final int SIGNAL_NOISE_RATIO_FIELD_NUMBER = 3;
-    private boolean hasSignalNoiseRatio;
-    private int signalNoiseRatio_ = 0;
-    public int getSignalNoiseRatio() { return signalNoiseRatio_; }
-    public boolean hasSignalNoiseRatio() { return hasSignalNoiseRatio; }
-    public RILEVDOSignalStrength setSignalNoiseRatio(int value) {
-      hasSignalNoiseRatio = true;
-      signalNoiseRatio_ = value;
-      return this;
-    }
-    public RILEVDOSignalStrength clearSignalNoiseRatio() {
-      hasSignalNoiseRatio = false;
-      signalNoiseRatio_ = 0;
-      return this;
-    }
-    
-    public final RILEVDOSignalStrength clear() {
-      clearDbm();
-      clearEcio();
-      clearSignalNoiseRatio();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasDbm()) {
-        output.writeInt32(1, getDbm());
-      }
-      if (hasEcio()) {
-        output.writeInt32(2, getEcio());
-      }
-      if (hasSignalNoiseRatio()) {
-        output.writeInt32(3, getSignalNoiseRatio());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasDbm()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getDbm());
-      }
-      if (hasEcio()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getEcio());
-      }
-      if (hasSignalNoiseRatio()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(3, getSignalNoiseRatio());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RILEVDOSignalStrength mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setDbm(input.readInt32());
-            break;
-          }
-          case 16: {
-            setEcio(input.readInt32());
-            break;
-          }
-          case 24: {
-            setSignalNoiseRatio(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RILEVDOSignalStrength parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RILEVDOSignalStrength) (new RILEVDOSignalStrength().mergeFrom(data));
-    }
-    
-    public static RILEVDOSignalStrength parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RILEVDOSignalStrength) (new RILEVDOSignalStrength().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspStrings extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspStrings() {}
-    
-    // repeated string strings = 1;
-    public static final int STRINGS_FIELD_NUMBER = 1;
-    private java.util.List<java.lang.String> strings_ =
-      java.util.Collections.emptyList();
-    public java.util.List<java.lang.String> getStringsList() {
-      return strings_;
-    }
-    public int getStringsCount() { return strings_.size(); }
-    public java.lang.String getStrings(int index) {
-      return strings_.get(index);
-    }
-    public RspStrings setStrings(int index, java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  strings_.set(index, value);
-      return this;
-    }
-    public RspStrings addStrings(java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  if (strings_.isEmpty()) {
-        strings_ = new java.util.ArrayList<java.lang.String>();
-      }
-      strings_.add(value);
-      return this;
-    }
-    public RspStrings clearStrings() {
-      strings_ = java.util.Collections.emptyList();
-      return this;
-    }
-    
-    public final RspStrings clear() {
-      clearStrings();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      for (java.lang.String element : getStringsList()) {
-        output.writeString(1, element);
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      {
-        int dataSize = 0;
-        for (java.lang.String element : getStringsList()) {
-          dataSize += com.google.protobuf.micro.CodedOutputStreamMicro
-            .computeStringSizeNoTag(element);
-        }
-        size += dataSize;
-        size += 1 * getStringsList().size();
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspStrings mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            addStrings(input.readString());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspStrings parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspStrings) (new RspStrings().mergeFrom(data));
-    }
-    
-    public static RspStrings parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspStrings) (new RspStrings().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspIntegers extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspIntegers() {}
-    
-    // repeated int32 integers = 1;
-    public static final int INTEGERS_FIELD_NUMBER = 1;
-    private java.util.List<java.lang.Integer> integers_ =
-      java.util.Collections.emptyList();
-    public java.util.List<java.lang.Integer> getIntegersList() {
-      return integers_;
-    }
-    public int getIntegersCount() { return integers_.size(); }
-    public int getIntegers(int index) {
-      return integers_.get(index);
-    }
-    public RspIntegers setIntegers(int index, int value) {
-      integers_.set(index, value);
-      return this;
-    }
-    public RspIntegers addIntegers(int value) {
-      if (integers_.isEmpty()) {
-        integers_ = new java.util.ArrayList<java.lang.Integer>();
-      }
-      integers_.add(value);
-      return this;
-    }
-    public RspIntegers clearIntegers() {
-      integers_ = java.util.Collections.emptyList();
-      return this;
-    }
-    
-    public final RspIntegers clear() {
-      clearIntegers();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      for (int element : getIntegersList()) {
-        output.writeInt32(1, element);
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      {
-        int dataSize = 0;
-        for (int element : getIntegersList()) {
-          dataSize += com.google.protobuf.micro.CodedOutputStreamMicro
-            .computeInt32SizeNoTag(element);
-        }
-        size += dataSize;
-        size += 1 * getIntegersList().size();
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspIntegers mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            addIntegers(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspIntegers parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspIntegers) (new RspIntegers().mergeFrom(data));
-    }
-    
-    public static RspIntegers parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspIntegers) (new RspIntegers().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspGetSimStatus extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspGetSimStatus() {}
-    
-    // required .ril_proto.RilCardStatus card_status = 1;
-    public static final int CARD_STATUS_FIELD_NUMBER = 1;
-    private boolean hasCardStatus;
-    private com.android.internal.telephony.ril_proto.RilCmds.RilCardStatus cardStatus_ = null;
-    public boolean hasCardStatus() { return hasCardStatus; }
-    public com.android.internal.telephony.ril_proto.RilCmds.RilCardStatus getCardStatus() { return cardStatus_; }
-    public RspGetSimStatus setCardStatus(com.android.internal.telephony.ril_proto.RilCmds.RilCardStatus value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      hasCardStatus = true;
-      cardStatus_ = value;
-      return this;
-    }
-    public RspGetSimStatus clearCardStatus() {
-      hasCardStatus = false;
-      cardStatus_ = null;
-      return this;
-    }
-    
-    public final RspGetSimStatus clear() {
-      clearCardStatus();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasCardStatus) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasCardStatus()) {
-        output.writeMessage(1, getCardStatus());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasCardStatus()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(1, getCardStatus());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspGetSimStatus mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            com.android.internal.telephony.ril_proto.RilCmds.RilCardStatus value = new com.android.internal.telephony.ril_proto.RilCmds.RilCardStatus();
-            input.readMessage(value);
-            setCardStatus(value);
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspGetSimStatus parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspGetSimStatus) (new RspGetSimStatus().mergeFrom(data));
-    }
-    
-    public static RspGetSimStatus parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspGetSimStatus) (new RspGetSimStatus().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class ReqEnterSimPin extends
-      com.google.protobuf.micro.MessageMicro {
-    public ReqEnterSimPin() {}
-    
-    // required string pin = 1;
-    public static final int PIN_FIELD_NUMBER = 1;
-    private boolean hasPin;
-    private java.lang.String pin_ = "";
-    public java.lang.String getPin() { return pin_; }
-    public boolean hasPin() { return hasPin; }
-    public ReqEnterSimPin setPin(java.lang.String value) {
-      hasPin = true;
-      pin_ = value;
-      return this;
-    }
-    public ReqEnterSimPin clearPin() {
-      hasPin = false;
-      pin_ = "";
-      return this;
-    }
-    
-    public final ReqEnterSimPin clear() {
-      clearPin();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasPin) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasPin()) {
-        output.writeString(1, getPin());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasPin()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(1, getPin());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public ReqEnterSimPin mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            setPin(input.readString());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static ReqEnterSimPin parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (ReqEnterSimPin) (new ReqEnterSimPin().mergeFrom(data));
-    }
-    
-    public static ReqEnterSimPin parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (ReqEnterSimPin) (new ReqEnterSimPin().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspEnterSimPin extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspEnterSimPin() {}
-    
-    // required int32 retries_remaining = 1;
-    public static final int RETRIES_REMAINING_FIELD_NUMBER = 1;
-    private boolean hasRetriesRemaining;
-    private int retriesRemaining_ = 0;
-    public int getRetriesRemaining() { return retriesRemaining_; }
-    public boolean hasRetriesRemaining() { return hasRetriesRemaining; }
-    public RspEnterSimPin setRetriesRemaining(int value) {
-      hasRetriesRemaining = true;
-      retriesRemaining_ = value;
-      return this;
-    }
-    public RspEnterSimPin clearRetriesRemaining() {
-      hasRetriesRemaining = false;
-      retriesRemaining_ = 0;
-      return this;
-    }
-    
-    public final RspEnterSimPin clear() {
-      clearRetriesRemaining();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasRetriesRemaining) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasRetriesRemaining()) {
-        output.writeInt32(1, getRetriesRemaining());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasRetriesRemaining()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getRetriesRemaining());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspEnterSimPin mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setRetriesRemaining(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspEnterSimPin parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspEnterSimPin) (new RspEnterSimPin().mergeFrom(data));
-    }
-    
-    public static RspEnterSimPin parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspEnterSimPin) (new RspEnterSimPin().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspGetCurrentCalls extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspGetCurrentCalls() {}
-    
-    // repeated .ril_proto.RilCall calls = 1;
-    public static final int CALLS_FIELD_NUMBER = 1;
-    private java.util.List<com.android.internal.telephony.ril_proto.RilCmds.RilCall> calls_ =
-      java.util.Collections.emptyList();
-    public java.util.List<com.android.internal.telephony.ril_proto.RilCmds.RilCall> getCallsList() {
-      return calls_;
-    }
-    public int getCallsCount() { return calls_.size(); }
-    public com.android.internal.telephony.ril_proto.RilCmds.RilCall getCalls(int index) {
-      return calls_.get(index);
-    }
-    public RspGetCurrentCalls setCalls(int index, com.android.internal.telephony.ril_proto.RilCmds.RilCall value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      calls_.set(index, value);
-      return this;
-    }
-    public RspGetCurrentCalls addCalls(com.android.internal.telephony.ril_proto.RilCmds.RilCall value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      if (calls_.isEmpty()) {
-        calls_ = new java.util.ArrayList<com.android.internal.telephony.ril_proto.RilCmds.RilCall>();
-      }
-      calls_.add(value);
-      return this;
-    }
-    public RspGetCurrentCalls clearCalls() {
-      calls_ = java.util.Collections.emptyList();
-      return this;
-    }
-    
-    public final RspGetCurrentCalls clear() {
-      clearCalls();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      for (com.android.internal.telephony.ril_proto.RilCmds.RilCall element : getCallsList()) {
-        output.writeMessage(1, element);
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      for (com.android.internal.telephony.ril_proto.RilCmds.RilCall element : getCallsList()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(1, element);
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspGetCurrentCalls mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            com.android.internal.telephony.ril_proto.RilCmds.RilCall value = new com.android.internal.telephony.ril_proto.RilCmds.RilCall();
-            input.readMessage(value);
-            addCalls(value);
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspGetCurrentCalls parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspGetCurrentCalls) (new RspGetCurrentCalls().mergeFrom(data));
-    }
-    
-    public static RspGetCurrentCalls parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspGetCurrentCalls) (new RspGetCurrentCalls().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class ReqDial extends
-      com.google.protobuf.micro.MessageMicro {
-    public ReqDial() {}
-    
-    // optional string address = 1;
-    public static final int ADDRESS_FIELD_NUMBER = 1;
-    private boolean hasAddress;
-    private java.lang.String address_ = "";
-    public java.lang.String getAddress() { return address_; }
-    public boolean hasAddress() { return hasAddress; }
-    public ReqDial setAddress(java.lang.String value) {
-      hasAddress = true;
-      address_ = value;
-      return this;
-    }
-    public ReqDial clearAddress() {
-      hasAddress = false;
-      address_ = "";
-      return this;
-    }
-    
-    // optional int32 clir = 2;
-    public static final int CLIR_FIELD_NUMBER = 2;
-    private boolean hasClir;
-    private int clir_ = 0;
-    public int getClir() { return clir_; }
-    public boolean hasClir() { return hasClir; }
-    public ReqDial setClir(int value) {
-      hasClir = true;
-      clir_ = value;
-      return this;
-    }
-    public ReqDial clearClir() {
-      hasClir = false;
-      clir_ = 0;
-      return this;
-    }
-    
-    // optional .ril_proto.RilUusInfo uus_info = 3;
-    public static final int UUS_INFO_FIELD_NUMBER = 3;
-    private boolean hasUusInfo;
-    private com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo uusInfo_ = null;
-    public boolean hasUusInfo() { return hasUusInfo; }
-    public com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo getUusInfo() { return uusInfo_; }
-    public ReqDial setUusInfo(com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      hasUusInfo = true;
-      uusInfo_ = value;
-      return this;
-    }
-    public ReqDial clearUusInfo() {
-      hasUusInfo = false;
-      uusInfo_ = null;
-      return this;
-    }
-    
-    public final ReqDial clear() {
-      clearAddress();
-      clearClir();
-      clearUusInfo();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasAddress()) {
-        output.writeString(1, getAddress());
-      }
-      if (hasClir()) {
-        output.writeInt32(2, getClir());
-      }
-      if (hasUusInfo()) {
-        output.writeMessage(3, getUusInfo());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasAddress()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(1, getAddress());
-      }
-      if (hasClir()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getClir());
-      }
-      if (hasUusInfo()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(3, getUusInfo());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public ReqDial mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            setAddress(input.readString());
-            break;
-          }
-          case 16: {
-            setClir(input.readInt32());
-            break;
-          }
-          case 26: {
-            com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo value = new com.android.internal.telephony.ril_proto.RilCmds.RilUusInfo();
-            input.readMessage(value);
-            setUusInfo(value);
-            break;
-          }
-        }
-      }
-    }
-    
-    public static ReqDial parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (ReqDial) (new ReqDial().mergeFrom(data));
-    }
-    
-    public static ReqDial parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (ReqDial) (new ReqDial().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class ReqHangUp extends
-      com.google.protobuf.micro.MessageMicro {
-    public ReqHangUp() {}
-    
-    // required int32 connection_index = 1;
-    public static final int CONNECTION_INDEX_FIELD_NUMBER = 1;
-    private boolean hasConnectionIndex;
-    private int connectionIndex_ = 0;
-    public int getConnectionIndex() { return connectionIndex_; }
-    public boolean hasConnectionIndex() { return hasConnectionIndex; }
-    public ReqHangUp setConnectionIndex(int value) {
-      hasConnectionIndex = true;
-      connectionIndex_ = value;
-      return this;
-    }
-    public ReqHangUp clearConnectionIndex() {
-      hasConnectionIndex = false;
-      connectionIndex_ = 0;
-      return this;
-    }
-    
-    public final ReqHangUp clear() {
-      clearConnectionIndex();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasConnectionIndex) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasConnectionIndex()) {
-        output.writeInt32(1, getConnectionIndex());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasConnectionIndex()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getConnectionIndex());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public ReqHangUp mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setConnectionIndex(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static ReqHangUp parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (ReqHangUp) (new ReqHangUp().mergeFrom(data));
-    }
-    
-    public static ReqHangUp parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (ReqHangUp) (new ReqHangUp().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspLastCallFailCause extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspLastCallFailCause() {}
-    
-    // required int32 last_call_fail_cause = 1;
-    public static final int LAST_CALL_FAIL_CAUSE_FIELD_NUMBER = 1;
-    private boolean hasLastCallFailCause;
-    private int lastCallFailCause_ = 0;
-    public int getLastCallFailCause() { return lastCallFailCause_; }
-    public boolean hasLastCallFailCause() { return hasLastCallFailCause; }
-    public RspLastCallFailCause setLastCallFailCause(int value) {
-      hasLastCallFailCause = true;
-      lastCallFailCause_ = value;
-      return this;
-    }
-    public RspLastCallFailCause clearLastCallFailCause() {
-      hasLastCallFailCause = false;
-      lastCallFailCause_ = 0;
-      return this;
-    }
-    
-    public final RspLastCallFailCause clear() {
-      clearLastCallFailCause();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasLastCallFailCause) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasLastCallFailCause()) {
-        output.writeInt32(1, getLastCallFailCause());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasLastCallFailCause()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getLastCallFailCause());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspLastCallFailCause mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setLastCallFailCause(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspLastCallFailCause parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspLastCallFailCause) (new RspLastCallFailCause().mergeFrom(data));
-    }
-    
-    public static RspLastCallFailCause parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspLastCallFailCause) (new RspLastCallFailCause().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspSignalStrength extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspSignalStrength() {}
-    
-    // optional .ril_proto.RILGWSignalStrength gw_signalstrength = 1;
-    public static final int GW_SIGNALSTRENGTH_FIELD_NUMBER = 1;
-    private boolean hasGwSignalstrength;
-    private com.android.internal.telephony.ril_proto.RilCmds.RILGWSignalStrength gwSignalstrength_ = null;
-    public boolean hasGwSignalstrength() { return hasGwSignalstrength; }
-    public com.android.internal.telephony.ril_proto.RilCmds.RILGWSignalStrength getGwSignalstrength() { return gwSignalstrength_; }
-    public RspSignalStrength setGwSignalstrength(com.android.internal.telephony.ril_proto.RilCmds.RILGWSignalStrength value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      hasGwSignalstrength = true;
-      gwSignalstrength_ = value;
-      return this;
-    }
-    public RspSignalStrength clearGwSignalstrength() {
-      hasGwSignalstrength = false;
-      gwSignalstrength_ = null;
-      return this;
-    }
-    
-    // optional .ril_proto.RILCDMASignalStrength cdma_signalstrength = 2;
-    public static final int CDMA_SIGNALSTRENGTH_FIELD_NUMBER = 2;
-    private boolean hasCdmaSignalstrength;
-    private com.android.internal.telephony.ril_proto.RilCmds.RILCDMASignalStrength cdmaSignalstrength_ = null;
-    public boolean hasCdmaSignalstrength() { return hasCdmaSignalstrength; }
-    public com.android.internal.telephony.ril_proto.RilCmds.RILCDMASignalStrength getCdmaSignalstrength() { return cdmaSignalstrength_; }
-    public RspSignalStrength setCdmaSignalstrength(com.android.internal.telephony.ril_proto.RilCmds.RILCDMASignalStrength value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      hasCdmaSignalstrength = true;
-      cdmaSignalstrength_ = value;
-      return this;
-    }
-    public RspSignalStrength clearCdmaSignalstrength() {
-      hasCdmaSignalstrength = false;
-      cdmaSignalstrength_ = null;
-      return this;
-    }
-    
-    // optional .ril_proto.RILEVDOSignalStrength evdo_signalstrength = 3;
-    public static final int EVDO_SIGNALSTRENGTH_FIELD_NUMBER = 3;
-    private boolean hasEvdoSignalstrength;
-    private com.android.internal.telephony.ril_proto.RilCmds.RILEVDOSignalStrength evdoSignalstrength_ = null;
-    public boolean hasEvdoSignalstrength() { return hasEvdoSignalstrength; }
-    public com.android.internal.telephony.ril_proto.RilCmds.RILEVDOSignalStrength getEvdoSignalstrength() { return evdoSignalstrength_; }
-    public RspSignalStrength setEvdoSignalstrength(com.android.internal.telephony.ril_proto.RilCmds.RILEVDOSignalStrength value) {
-      if (value == null) {
-        throw new NullPointerException();
-      }
-      hasEvdoSignalstrength = true;
-      evdoSignalstrength_ = value;
-      return this;
-    }
-    public RspSignalStrength clearEvdoSignalstrength() {
-      hasEvdoSignalstrength = false;
-      evdoSignalstrength_ = null;
-      return this;
-    }
-    
-    public final RspSignalStrength clear() {
-      clearGwSignalstrength();
-      clearCdmaSignalstrength();
-      clearEvdoSignalstrength();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasGwSignalstrength()) {
-        output.writeMessage(1, getGwSignalstrength());
-      }
-      if (hasCdmaSignalstrength()) {
-        output.writeMessage(2, getCdmaSignalstrength());
-      }
-      if (hasEvdoSignalstrength()) {
-        output.writeMessage(3, getEvdoSignalstrength());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasGwSignalstrength()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(1, getGwSignalstrength());
-      }
-      if (hasCdmaSignalstrength()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(2, getCdmaSignalstrength());
-      }
-      if (hasEvdoSignalstrength()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeMessageSize(3, getEvdoSignalstrength());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspSignalStrength mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            com.android.internal.telephony.ril_proto.RilCmds.RILGWSignalStrength value = new com.android.internal.telephony.ril_proto.RilCmds.RILGWSignalStrength();
-            input.readMessage(value);
-            setGwSignalstrength(value);
-            break;
-          }
-          case 18: {
-            com.android.internal.telephony.ril_proto.RilCmds.RILCDMASignalStrength value = new com.android.internal.telephony.ril_proto.RilCmds.RILCDMASignalStrength();
-            input.readMessage(value);
-            setCdmaSignalstrength(value);
-            break;
-          }
-          case 26: {
-            com.android.internal.telephony.ril_proto.RilCmds.RILEVDOSignalStrength value = new com.android.internal.telephony.ril_proto.RilCmds.RILEVDOSignalStrength();
-            input.readMessage(value);
-            setEvdoSignalstrength(value);
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspSignalStrength parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspSignalStrength) (new RspSignalStrength().mergeFrom(data));
-    }
-    
-    public static RspSignalStrength parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspSignalStrength) (new RspSignalStrength().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class RspOperator extends
-      com.google.protobuf.micro.MessageMicro {
-    public RspOperator() {}
-    
-    // optional string long_alpha_ons = 1;
-    public static final int LONG_ALPHA_ONS_FIELD_NUMBER = 1;
-    private boolean hasLongAlphaOns;
-    private java.lang.String longAlphaOns_ = "";
-    public java.lang.String getLongAlphaOns() { return longAlphaOns_; }
-    public boolean hasLongAlphaOns() { return hasLongAlphaOns; }
-    public RspOperator setLongAlphaOns(java.lang.String value) {
-      hasLongAlphaOns = true;
-      longAlphaOns_ = value;
-      return this;
-    }
-    public RspOperator clearLongAlphaOns() {
-      hasLongAlphaOns = false;
-      longAlphaOns_ = "";
-      return this;
-    }
-    
-    // optional string short_alpha_ons = 2;
-    public static final int SHORT_ALPHA_ONS_FIELD_NUMBER = 2;
-    private boolean hasShortAlphaOns;
-    private java.lang.String shortAlphaOns_ = "";
-    public java.lang.String getShortAlphaOns() { return shortAlphaOns_; }
-    public boolean hasShortAlphaOns() { return hasShortAlphaOns; }
-    public RspOperator setShortAlphaOns(java.lang.String value) {
-      hasShortAlphaOns = true;
-      shortAlphaOns_ = value;
-      return this;
-    }
-    public RspOperator clearShortAlphaOns() {
-      hasShortAlphaOns = false;
-      shortAlphaOns_ = "";
-      return this;
-    }
-    
-    // optional string mcc_mnc = 3;
-    public static final int MCC_MNC_FIELD_NUMBER = 3;
-    private boolean hasMccMnc;
-    private java.lang.String mccMnc_ = "";
-    public java.lang.String getMccMnc() { return mccMnc_; }
-    public boolean hasMccMnc() { return hasMccMnc; }
-    public RspOperator setMccMnc(java.lang.String value) {
-      hasMccMnc = true;
-      mccMnc_ = value;
-      return this;
-    }
-    public RspOperator clearMccMnc() {
-      hasMccMnc = false;
-      mccMnc_ = "";
-      return this;
-    }
-    
-    public final RspOperator clear() {
-      clearLongAlphaOns();
-      clearShortAlphaOns();
-      clearMccMnc();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasLongAlphaOns()) {
-        output.writeString(1, getLongAlphaOns());
-      }
-      if (hasShortAlphaOns()) {
-        output.writeString(2, getShortAlphaOns());
-      }
-      if (hasMccMnc()) {
-        output.writeString(3, getMccMnc());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasLongAlphaOns()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(1, getLongAlphaOns());
-      }
-      if (hasShortAlphaOns()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(2, getShortAlphaOns());
-      }
-      if (hasMccMnc()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(3, getMccMnc());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public RspOperator mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            setLongAlphaOns(input.readString());
-            break;
-          }
-          case 18: {
-            setShortAlphaOns(input.readString());
-            break;
-          }
-          case 26: {
-            setMccMnc(input.readString());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static RspOperator parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (RspOperator) (new RspOperator().mergeFrom(data));
-    }
-    
-    public static RspOperator parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (RspOperator) (new RspOperator().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class ReqSeparateConnection extends
-      com.google.protobuf.micro.MessageMicro {
-    public ReqSeparateConnection() {}
-    
-    // required int32 index = 1;
-    public static final int INDEX_FIELD_NUMBER = 1;
-    private boolean hasIndex;
-    private int index_ = 0;
-    public int getIndex() { return index_; }
-    public boolean hasIndex() { return hasIndex; }
-    public ReqSeparateConnection setIndex(int value) {
-      hasIndex = true;
-      index_ = value;
-      return this;
-    }
-    public ReqSeparateConnection clearIndex() {
-      hasIndex = false;
-      index_ = 0;
-      return this;
-    }
-    
-    public final ReqSeparateConnection clear() {
-      clearIndex();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasIndex) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasIndex()) {
-        output.writeInt32(1, getIndex());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasIndex()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getIndex());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public ReqSeparateConnection mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setIndex(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static ReqSeparateConnection parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (ReqSeparateConnection) (new ReqSeparateConnection().mergeFrom(data));
-    }
-    
-    public static ReqSeparateConnection parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (ReqSeparateConnection) (new ReqSeparateConnection().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class ReqSetMute extends
-      com.google.protobuf.micro.MessageMicro {
-    public ReqSetMute() {}
-    
-    // required bool state = 1;
-    public static final int STATE_FIELD_NUMBER = 1;
-    private boolean hasState;
-    private boolean state_ = false;
-    public boolean getState() { return state_; }
-    public boolean hasState() { return hasState; }
-    public ReqSetMute setState(boolean value) {
-      hasState = true;
-      state_ = value;
-      return this;
-    }
-    public ReqSetMute clearState() {
-      hasState = false;
-      state_ = false;
-      return this;
-    }
-    
-    public final ReqSetMute clear() {
-      clearState();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasState) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasState()) {
-        output.writeBool(1, getState());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeBoolSize(1, getState());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public ReqSetMute mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setState(input.readBool());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static ReqSetMute parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (ReqSetMute) (new ReqSetMute().mergeFrom(data));
-    }
-    
-    public static ReqSetMute parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (ReqSetMute) (new ReqSetMute().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class ReqScreenState extends
-      com.google.protobuf.micro.MessageMicro {
-    public ReqScreenState() {}
-    
-    // required bool state = 1;
-    public static final int STATE_FIELD_NUMBER = 1;
-    private boolean hasState;
-    private boolean state_ = false;
-    public boolean getState() { return state_; }
-    public boolean hasState() { return hasState; }
-    public ReqScreenState setState(boolean value) {
-      hasState = true;
-      state_ = value;
-      return this;
-    }
-    public ReqScreenState clearState() {
-      hasState = false;
-      state_ = false;
-      return this;
-    }
-    
-    public final ReqScreenState clear() {
-      clearState();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasState) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasState()) {
-        output.writeBool(1, getState());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeBoolSize(1, getState());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public ReqScreenState mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setState(input.readBool());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static ReqScreenState parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (ReqScreenState) (new ReqScreenState().mergeFrom(data));
-    }
-    
-    public static ReqScreenState parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (ReqScreenState) (new ReqScreenState().mergeFrom(input));
-    }
-    
-  }
-  
-}
diff --git a/mock-ril/src/generated/java/com/android/internal/telephony/ril_proto/RilCtrlCmds.java b/mock-ril/src/generated/java/com/android/internal/telephony/ril_proto/RilCtrlCmds.java
deleted file mode 100644
index f0a74b7..0000000
--- a/mock-ril/src/generated/java/com/android/internal/telephony/ril_proto/RilCtrlCmds.java
+++ /dev/null
@@ -1,610 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-package com.android.internal.telephony.ril_proto;
-
-public final class RilCtrlCmds {
-  private RilCtrlCmds() {}
-  // enum CtrlCmd
-  public static final int CTRL_CMD_ECHO = 0;
-  public static final int CTRL_CMD_GET_RADIO_STATE = 1;
-  public static final int CTRL_CMD_SET_RADIO_STATE = 2;
-  public static final int CTRL_CMD_SET_MT_CALL = 1001;
-  public static final int CTRL_CMD_HANGUP_CONN_REMOTE = 1002;
-  public static final int CTRL_CMD_SET_CALL_TRANSITION_FLAG = 1003;
-  public static final int CTRL_CMD_SET_CALL_ALERT = 1004;
-  public static final int CTRL_CMD_SET_CALL_ACTIVE = 1005;
-  public static final int CTRL_CMD_ADD_DIALING_CALL = 1006;
-  
-  // enum CtrlStatus
-  public static final int CTRL_STATUS_OK = 0;
-  public static final int CTRL_STATUS_ERR = 1;
-  
-  public static final class CtrlReqRadioState extends
-      com.google.protobuf.micro.MessageMicro {
-    public CtrlReqRadioState() {}
-    
-    // required .ril_proto.RadioState state = 1;
-    public static final int STATE_FIELD_NUMBER = 1;
-    private boolean hasState;
-    private int state_ = com.android.internal.telephony.ril_proto.RilCmds.RADIOSTATE_OFF;
-    public boolean hasState() { return hasState; }
-    public int getState() { return state_; }
-    public CtrlReqRadioState setState(int value) {
-      hasState = true;
-      state_ = value;
-      return this;
-    }
-    public CtrlReqRadioState clearState() {
-      hasState = false;
-      state_ = com.android.internal.telephony.ril_proto.RilCmds.RADIOSTATE_OFF;
-      return this;
-    }
-    
-    public final CtrlReqRadioState clear() {
-      clearState();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasState) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasState()) {
-        output.writeInt32(1, getState());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getState());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public CtrlReqRadioState mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-              setState(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static CtrlReqRadioState parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (CtrlReqRadioState) (new CtrlReqRadioState().mergeFrom(data));
-    }
-    
-    public static CtrlReqRadioState parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (CtrlReqRadioState) (new CtrlReqRadioState().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class CtrlRspRadioState extends
-      com.google.protobuf.micro.MessageMicro {
-    public CtrlRspRadioState() {}
-    
-    // required .ril_proto.RadioState state = 1;
-    public static final int STATE_FIELD_NUMBER = 1;
-    private boolean hasState;
-    private int state_ = com.android.internal.telephony.ril_proto.RilCmds.RADIOSTATE_OFF;
-    public boolean hasState() { return hasState; }
-    public int getState() { return state_; }
-    public CtrlRspRadioState setState(int value) {
-      hasState = true;
-      state_ = value;
-      return this;
-    }
-    public CtrlRspRadioState clearState() {
-      hasState = false;
-      state_ = com.android.internal.telephony.ril_proto.RilCmds.RADIOSTATE_OFF;
-      return this;
-    }
-    
-    public final CtrlRspRadioState clear() {
-      clearState();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasState) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasState()) {
-        output.writeInt32(1, getState());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasState()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getState());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public CtrlRspRadioState mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-              setState(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static CtrlRspRadioState parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (CtrlRspRadioState) (new CtrlRspRadioState().mergeFrom(data));
-    }
-    
-    public static CtrlRspRadioState parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (CtrlRspRadioState) (new CtrlRspRadioState().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class CtrlReqSetMTCall extends
-      com.google.protobuf.micro.MessageMicro {
-    public CtrlReqSetMTCall() {}
-    
-    // required string phone_number = 1;
-    public static final int PHONE_NUMBER_FIELD_NUMBER = 1;
-    private boolean hasPhoneNumber;
-    private java.lang.String phoneNumber_ = "";
-    public java.lang.String getPhoneNumber() { return phoneNumber_; }
-    public boolean hasPhoneNumber() { return hasPhoneNumber; }
-    public CtrlReqSetMTCall setPhoneNumber(java.lang.String value) {
-      hasPhoneNumber = true;
-      phoneNumber_ = value;
-      return this;
-    }
-    public CtrlReqSetMTCall clearPhoneNumber() {
-      hasPhoneNumber = false;
-      phoneNumber_ = "";
-      return this;
-    }
-    
-    public final CtrlReqSetMTCall clear() {
-      clearPhoneNumber();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasPhoneNumber) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasPhoneNumber()) {
-        output.writeString(1, getPhoneNumber());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasPhoneNumber()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(1, getPhoneNumber());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public CtrlReqSetMTCall mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            setPhoneNumber(input.readString());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static CtrlReqSetMTCall parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (CtrlReqSetMTCall) (new CtrlReqSetMTCall().mergeFrom(data));
-    }
-    
-    public static CtrlReqSetMTCall parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (CtrlReqSetMTCall) (new CtrlReqSetMTCall().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class CtrlHangupConnRemote extends
-      com.google.protobuf.micro.MessageMicro {
-    public CtrlHangupConnRemote() {}
-    
-    // required int32 connection_id = 1;
-    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
-    private boolean hasConnectionId;
-    private int connectionId_ = 0;
-    public int getConnectionId() { return connectionId_; }
-    public boolean hasConnectionId() { return hasConnectionId; }
-    public CtrlHangupConnRemote setConnectionId(int value) {
-      hasConnectionId = true;
-      connectionId_ = value;
-      return this;
-    }
-    public CtrlHangupConnRemote clearConnectionId() {
-      hasConnectionId = false;
-      connectionId_ = 0;
-      return this;
-    }
-    
-    // required int32 call_fail_cause = 2;
-    public static final int CALL_FAIL_CAUSE_FIELD_NUMBER = 2;
-    private boolean hasCallFailCause;
-    private int callFailCause_ = 0;
-    public int getCallFailCause() { return callFailCause_; }
-    public boolean hasCallFailCause() { return hasCallFailCause; }
-    public CtrlHangupConnRemote setCallFailCause(int value) {
-      hasCallFailCause = true;
-      callFailCause_ = value;
-      return this;
-    }
-    public CtrlHangupConnRemote clearCallFailCause() {
-      hasCallFailCause = false;
-      callFailCause_ = 0;
-      return this;
-    }
-    
-    public final CtrlHangupConnRemote clear() {
-      clearConnectionId();
-      clearCallFailCause();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasConnectionId) return false;
-      if (!hasCallFailCause) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasConnectionId()) {
-        output.writeInt32(1, getConnectionId());
-      }
-      if (hasCallFailCause()) {
-        output.writeInt32(2, getCallFailCause());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasConnectionId()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(1, getConnectionId());
-      }
-      if (hasCallFailCause()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeInt32Size(2, getCallFailCause());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public CtrlHangupConnRemote mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setConnectionId(input.readInt32());
-            break;
-          }
-          case 16: {
-            setCallFailCause(input.readInt32());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static CtrlHangupConnRemote parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (CtrlHangupConnRemote) (new CtrlHangupConnRemote().mergeFrom(data));
-    }
-    
-    public static CtrlHangupConnRemote parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (CtrlHangupConnRemote) (new CtrlHangupConnRemote().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class CtrlSetCallTransitionFlag extends
-      com.google.protobuf.micro.MessageMicro {
-    public CtrlSetCallTransitionFlag() {}
-    
-    // required bool flag = 1;
-    public static final int FLAG_FIELD_NUMBER = 1;
-    private boolean hasFlag;
-    private boolean flag_ = false;
-    public boolean getFlag() { return flag_; }
-    public boolean hasFlag() { return hasFlag; }
-    public CtrlSetCallTransitionFlag setFlag(boolean value) {
-      hasFlag = true;
-      flag_ = value;
-      return this;
-    }
-    public CtrlSetCallTransitionFlag clearFlag() {
-      hasFlag = false;
-      flag_ = false;
-      return this;
-    }
-    
-    public final CtrlSetCallTransitionFlag clear() {
-      clearFlag();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasFlag) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasFlag()) {
-        output.writeBool(1, getFlag());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasFlag()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeBoolSize(1, getFlag());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public CtrlSetCallTransitionFlag mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 8: {
-            setFlag(input.readBool());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static CtrlSetCallTransitionFlag parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (CtrlSetCallTransitionFlag) (new CtrlSetCallTransitionFlag().mergeFrom(data));
-    }
-    
-    public static CtrlSetCallTransitionFlag parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (CtrlSetCallTransitionFlag) (new CtrlSetCallTransitionFlag().mergeFrom(input));
-    }
-    
-  }
-  
-  public static final class CtrlReqAddDialingCall extends
-      com.google.protobuf.micro.MessageMicro {
-    public CtrlReqAddDialingCall() {}
-    
-    // required string phone_number = 1;
-    public static final int PHONE_NUMBER_FIELD_NUMBER = 1;
-    private boolean hasPhoneNumber;
-    private java.lang.String phoneNumber_ = "";
-    public java.lang.String getPhoneNumber() { return phoneNumber_; }
-    public boolean hasPhoneNumber() { return hasPhoneNumber; }
-    public CtrlReqAddDialingCall setPhoneNumber(java.lang.String value) {
-      hasPhoneNumber = true;
-      phoneNumber_ = value;
-      return this;
-    }
-    public CtrlReqAddDialingCall clearPhoneNumber() {
-      hasPhoneNumber = false;
-      phoneNumber_ = "";
-      return this;
-    }
-    
-    public final CtrlReqAddDialingCall clear() {
-      clearPhoneNumber();
-      cachedSize = -1;
-      return this;
-    }
-    
-    public final boolean isInitialized() {
-      if (!hasPhoneNumber) return false;
-      return true;
-    }
-    
-    public void writeTo(com.google.protobuf.micro.CodedOutputStreamMicro output)
-                        throws java.io.IOException {
-      if (hasPhoneNumber()) {
-        output.writeString(1, getPhoneNumber());
-      }
-    }
-    
-    private int cachedSize = -1;
-    public int getCachedSize() {
-      if (cachedSize < 0) {
-        // getSerializedSize sets cachedSize
-        getSerializedSize();
-      }
-      return cachedSize;
-    }
-    
-    public int getSerializedSize() {
-      int size = 0;
-      if (hasPhoneNumber()) {
-        size += com.google.protobuf.micro.CodedOutputStreamMicro
-          .computeStringSize(1, getPhoneNumber());
-      }
-      cachedSize = size;
-      return size;
-    }
-    
-    public CtrlReqAddDialingCall mergeFrom(
-        com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            setPhoneNumber(input.readString());
-            break;
-          }
-        }
-      }
-    }
-    
-    public static CtrlReqAddDialingCall parseFrom(byte[] data)
-        throws com.google.protobuf.micro.InvalidProtocolBufferMicroException {
-      return (CtrlReqAddDialingCall) (new CtrlReqAddDialingCall().mergeFrom(data));
-    }
-    
-    public static CtrlReqAddDialingCall parseFrom(
-            com.google.protobuf.micro.CodedInputStreamMicro input)
-        throws java.io.IOException {
-      return (CtrlReqAddDialingCall) (new CtrlReqAddDialingCall().mergeFrom(input));
-    }
-    
-  }
-  
-}
diff --git a/mock-ril/src/generated/python/ctrl_pb2.py b/mock-ril/src/generated/python/ctrl_pb2.py
deleted file mode 100644
index 11a77b1..0000000
--- a/mock-ril/src/generated/python/ctrl_pb2.py
+++ /dev/null
@@ -1,316 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-from google.protobuf import descriptor
-from google.protobuf import message
-from google.protobuf import reflection
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-
-DESCRIPTOR = descriptor.FileDescriptor(
-  name='ctrl.proto',
-  package='ril_proto',
-  serialized_pb='\n\nctrl.proto\x12\tril_proto\x1a\tril.proto\"9\n\x11\x43trlReqRadioState\x12$\n\x05state\x18\x01 \x02(\x0e\x32\x15.ril_proto.RadioState\"9\n\x11\x43trlRspRadioState\x12$\n\x05state\x18\x01 \x02(\x0e\x32\x15.ril_proto.RadioState\"(\n\x10\x43trlReqSetMTCall\x12\x14\n\x0cphone_number\x18\x01 \x02(\t\"F\n\x14\x43trlHangupConnRemote\x12\x15\n\rconnection_id\x18\x01 \x02(\x05\x12\x17\n\x0f\x63\x61ll_fail_cause\x18\x02 \x02(\x05\")\n\x19\x43trlSetCallTransitionFlag\x12\x0c\n\x04\x66lag\x18\x01 \x02(\x08\"-\n\x15\x43trlReqAddDialingCall\x12\x14\n\x0cphone_number\x18\x01 \x02(\t*\x9a\x02\n\x07\x43trlCmd\x12\x11\n\rCTRL_CMD_ECHO\x10\x00\x12\x1c\n\x18\x43TRL_CMD_GET_RADIO_STATE\x10\x01\x12\x1c\n\x18\x43TRL_CMD_SET_RADIO_STATE\x10\x02\x12\x19\n\x14\x43TRL_CMD_SET_MT_CALL\x10\xe9\x07\x12 \n\x1b\x43TRL_CMD_HANGUP_CONN_REMOTE\x10\xea\x07\x12&\n!CTRL_CMD_SET_CALL_TRANSITION_FLAG\x10\xeb\x07\x12\x1c\n\x17\x43TRL_CMD_SET_CALL_ALERT\x10\xec\x07\x12\x1d\n\x18\x43TRL_CMD_SET_CALL_ACTIVE\x10\xed\x07\x12\x1e\n\x19\x43TRL_CMD_ADD_DIALING_CALL\x10\xee\x07*5\n\nCtrlStatus\x12\x12\n\x0e\x43TRL_STATUS_OK\x10\x00\x12\x13\n\x0f\x43TRL_STATUS_ERR\x10\x01\x42\x37\n(com.android.internal.telephony.ril_protoB\x0bRilCtrlCmds')
-
-_CTRLCMD = descriptor.EnumDescriptor(
-  name='CtrlCmd',
-  full_name='ril_proto.CtrlCmd',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_ECHO', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_GET_RADIO_STATE', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_SET_RADIO_STATE', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_SET_MT_CALL', index=3, number=1001,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_HANGUP_CONN_REMOTE', index=4, number=1002,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_SET_CALL_TRANSITION_FLAG', index=5, number=1003,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_SET_CALL_ALERT', index=6, number=1004,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_SET_CALL_ACTIVE', index=7, number=1005,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_CMD_ADD_DIALING_CALL', index=8, number=1006,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=359,
-  serialized_end=641,
-)
-
-
-_CTRLSTATUS = descriptor.EnumDescriptor(
-  name='CtrlStatus',
-  full_name='ril_proto.CtrlStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='CTRL_STATUS_OK', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CTRL_STATUS_ERR', index=1, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=643,
-  serialized_end=696,
-)
-
-
-CTRL_CMD_ECHO = 0
-CTRL_CMD_GET_RADIO_STATE = 1
-CTRL_CMD_SET_RADIO_STATE = 2
-CTRL_CMD_SET_MT_CALL = 1001
-CTRL_CMD_HANGUP_CONN_REMOTE = 1002
-CTRL_CMD_SET_CALL_TRANSITION_FLAG = 1003
-CTRL_CMD_SET_CALL_ALERT = 1004
-CTRL_CMD_SET_CALL_ACTIVE = 1005
-CTRL_CMD_ADD_DIALING_CALL = 1006
-CTRL_STATUS_OK = 0
-CTRL_STATUS_ERR = 1
-
-
-
-_CTRLREQRADIOSTATE = descriptor.Descriptor(
-  name='CtrlReqRadioState',
-  full_name='ril_proto.CtrlReqRadioState',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='state', full_name='ril_proto.CtrlReqRadioState.state', index=0,
-      number=1, type=14, cpp_type=8, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=36,
-  serialized_end=93,
-)
-
-
-_CTRLRSPRADIOSTATE = descriptor.Descriptor(
-  name='CtrlRspRadioState',
-  full_name='ril_proto.CtrlRspRadioState',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='state', full_name='ril_proto.CtrlRspRadioState.state', index=0,
-      number=1, type=14, cpp_type=8, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=95,
-  serialized_end=152,
-)
-
-
-_CTRLREQSETMTCALL = descriptor.Descriptor(
-  name='CtrlReqSetMTCall',
-  full_name='ril_proto.CtrlReqSetMTCall',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='phone_number', full_name='ril_proto.CtrlReqSetMTCall.phone_number', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=154,
-  serialized_end=194,
-)
-
-
-_CTRLHANGUPCONNREMOTE = descriptor.Descriptor(
-  name='CtrlHangupConnRemote',
-  full_name='ril_proto.CtrlHangupConnRemote',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='connection_id', full_name='ril_proto.CtrlHangupConnRemote.connection_id', index=0,
-      number=1, type=5, cpp_type=1, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='call_fail_cause', full_name='ril_proto.CtrlHangupConnRemote.call_fail_cause', index=1,
-      number=2, type=5, cpp_type=1, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=196,
-  serialized_end=266,
-)
-
-
-_CTRLSETCALLTRANSITIONFLAG = descriptor.Descriptor(
-  name='CtrlSetCallTransitionFlag',
-  full_name='ril_proto.CtrlSetCallTransitionFlag',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='flag', full_name='ril_proto.CtrlSetCallTransitionFlag.flag', index=0,
-      number=1, type=8, cpp_type=7, label=2,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=268,
-  serialized_end=309,
-)
-
-
-_CTRLREQADDDIALINGCALL = descriptor.Descriptor(
-  name='CtrlReqAddDialingCall',
-  full_name='ril_proto.CtrlReqAddDialingCall',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='phone_number', full_name='ril_proto.CtrlReqAddDialingCall.phone_number', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=311,
-  serialized_end=356,
-)
-
-import ril_pb2
-
-_CTRLREQRADIOSTATE.fields_by_name['state'].enum_type = ril_pb2._RADIOSTATE
-_CTRLRSPRADIOSTATE.fields_by_name['state'].enum_type = ril_pb2._RADIOSTATE
-
-class CtrlReqRadioState(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _CTRLREQRADIOSTATE
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.CtrlReqRadioState)
-
-class CtrlRspRadioState(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _CTRLRSPRADIOSTATE
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.CtrlRspRadioState)
-
-class CtrlReqSetMTCall(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _CTRLREQSETMTCALL
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.CtrlReqSetMTCall)
-
-class CtrlHangupConnRemote(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _CTRLHANGUPCONNREMOTE
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.CtrlHangupConnRemote)
-
-class CtrlSetCallTransitionFlag(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _CTRLSETCALLTRANSITIONFLAG
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.CtrlSetCallTransitionFlag)
-
-class CtrlReqAddDialingCall(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _CTRLREQADDDIALINGCALL
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.CtrlReqAddDialingCall)
-
-# @@protoc_insertion_point(module_scope)
diff --git a/mock-ril/src/generated/python/msgheader_pb2.py b/mock-ril/src/generated/python/msgheader_pb2.py
deleted file mode 100644
index 0b70cc9..0000000
--- a/mock-ril/src/generated/python/msgheader_pb2.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-from google.protobuf import descriptor
-from google.protobuf import message
-from google.protobuf import reflection
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-
-DESCRIPTOR = descriptor.FileDescriptor(
-  name='msgheader.proto',
-  package='communication',
-  serialized_pb='\n\x0fmsgheader.proto\x12\rcommunication\"L\n\tMsgHeader\x12\x0b\n\x03\x63md\x18\x01 \x02(\r\x12\x13\n\x0blength_data\x18\x02 \x02(\r\x12\x0e\n\x06status\x18\x03 \x01(\r\x12\r\n\x05token\x18\x04 \x01(\x04\x42$\n\"com.android.internal.communication')
-
-
-
-
-_MSGHEADER = descriptor.Descriptor(
-  name='MsgHeader',
-  full_name='communication.MsgHeader',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='cmd', full_name='communication.MsgHeader.cmd', index=0,
-      number=1, type=13, cpp_type=3, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='length_data', full_name='communication.MsgHeader.length_data', index=1,
-      number=2, type=13, cpp_type=3, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='status', full_name='communication.MsgHeader.status', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='token', full_name='communication.MsgHeader.token', index=3,
-      number=4, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=34,
-  serialized_end=110,
-)
-
-
-
-class MsgHeader(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _MSGHEADER
-  
-  # @@protoc_insertion_point(class_scope:communication.MsgHeader)
-
-# @@protoc_insertion_point(module_scope)
diff --git a/mock-ril/src/generated/python/ril_pb2.py b/mock-ril/src/generated/python/ril_pb2.py
deleted file mode 100644
index 748ffbb..0000000
--- a/mock-ril/src/generated/python/ril_pb2.py
+++ /dev/null
@@ -1,1501 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-from google.protobuf import descriptor
-from google.protobuf import message
-from google.protobuf import reflection
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-
-DESCRIPTOR = descriptor.FileDescriptor(
-  name='ril.proto',
-  package='ril_proto',
-  serialized_pb='\n\tril.proto\x12\tril_proto\"\x9a\x02\n\x0cRilAppStatus\x12\'\n\x08\x61pp_type\x18\x01 \x01(\x0e\x32\x15.ril_proto.RilAppType\x12)\n\tapp_state\x18\x02 \x01(\x0e\x32\x16.ril_proto.RilAppState\x12\x33\n\x0eperso_substate\x18\x03 \x01(\x0e\x32\x1b.ril_proto.RilPersoSubstate\x12\x0b\n\x03\x61id\x18\x04 \x01(\t\x12\x11\n\tapp_label\x18\x05 \x01(\t\x12\x15\n\rpin1_replaced\x18\x06 \x01(\x05\x12$\n\x04pin1\x18\x07 \x01(\x0e\x32\x16.ril_proto.RilPinState\x12$\n\x04pin2\x18\x08 \x01(\x0e\x32\x16.ril_proto.RilPinState\"\x88\x02\n\rRilCardStatus\x12+\n\ncard_state\x18\x01 \x01(\x0e\x32\x17.ril_proto.RilCardState\x12\x33\n\x13universal_pin_state\x18\x02 \x01(\x0e\x32\x16.ril_proto.RilPinState\x12\'\n\x1fgsm_umts_subscription_app_index\x18\x03 \x01(\x05\x12#\n\x1b\x63\x64ma_subscription_app_index\x18\x04 \x01(\x05\x12\x18\n\x10num_applications\x18\x05 \x01(\x05\x12-\n\x0c\x61pplications\x18\x06 \x03(\x0b\x32\x17.ril_proto.RilAppStatus\"\x82\x01\n\nRilUusInfo\x12\'\n\x08uus_type\x18\x01 \x01(\x0e\x32\x15.ril_proto.RilUusType\x12%\n\x07uus_dcs\x18\x02 \x01(\x0e\x32\x14.ril_proto.RilUusDcs\x12\x12\n\nuus_length\x18\x03 \x01(\x05\x12\x10\n\x08uus_data\x18\x04 \x01(\t\"\xa5\x02\n\x07RilCall\x12&\n\x05state\x18\x01 \x01(\x0e\x32\x17.ril_proto.RilCallState\x12\r\n\x05index\x18\x02 \x01(\x05\x12\x0b\n\x03toa\x18\x03 \x01(\x05\x12\x0f\n\x07is_mpty\x18\x04 \x01(\x08\x12\r\n\x05is_mt\x18\x05 \x01(\x08\x12\x0b\n\x03\x61ls\x18\x06 \x01(\x05\x12\x10\n\x08is_voice\x18\x07 \x01(\x08\x12\x18\n\x10is_voice_privacy\x18\x08 \x01(\x08\x12\x0e\n\x06number\x18\t \x01(\t\x12\x1b\n\x13number_presentation\x18\n \x01(\x05\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x19\n\x11name_presentation\x18\x0c \x01(\x05\x12\'\n\x08uus_info\x18\r \x01(\x0b\x32\x15.ril_proto.RilUusInfo\"F\n\x13RILGWSignalStrength\x12\x17\n\x0fsignal_strength\x18\x01 \x01(\x05\x12\x16\n\x0e\x62it_error_rate\x18\x02 \x01(\x05\"2\n\x15RILCDMASignalStrength\x12\x0b\n\x03\x64\x62m\x18\x01 \x01(\x05\x12\x0c\n\x04\x65\x63io\x18\x02 \x01(\x05\"N\n\x15RILEVDOSignalStrength\x12\x0b\n\x03\x64\x62m\x18\x01 \x01(\x05\x12\x0c\n\x04\x65\x63io\x18\x02 \x01(\x05\x12\x1a\n\x12signal_noise_ratio\x18\x03 \x01(\x05\"\x1d\n\nRspStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\"\x1f\n\x0bRspIntegers\x12\x10\n\x08integers\x18\x01 \x03(\x05\"@\n\x0fRspGetSimStatus\x12-\n\x0b\x63\x61rd_status\x18\x01 \x02(\x0b\x32\x18.ril_proto.RilCardStatus\"\x1d\n\x0eReqEnterSimPin\x12\x0b\n\x03pin\x18\x01 \x02(\t\"+\n\x0eRspEnterSimPin\x12\x19\n\x11retries_remaining\x18\x01 \x02(\x05\"7\n\x12RspGetCurrentCalls\x12!\n\x05\x63\x61lls\x18\x01 \x03(\x0b\x32\x12.ril_proto.RilCall\"Q\n\x07ReqDial\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04\x63lir\x18\x02 \x01(\x05\x12\'\n\x08uus_info\x18\x03 \x01(\x0b\x32\x15.ril_proto.RilUusInfo\"%\n\tReqHangUp\x12\x18\n\x10\x63onnection_index\x18\x01 \x02(\x05\"4\n\x14RspLastCallFailCause\x12\x1c\n\x14last_call_fail_cause\x18\x01 \x02(\x05\"\xcc\x01\n\x11RspSignalStrength\x12\x39\n\x11gw_signalstrength\x18\x01 \x01(\x0b\x32\x1e.ril_proto.RILGWSignalStrength\x12=\n\x13\x63\x64ma_signalstrength\x18\x02 \x01(\x0b\x32 .ril_proto.RILCDMASignalStrength\x12=\n\x13\x65vdo_signalstrength\x18\x03 \x01(\x0b\x32 .ril_proto.RILEVDOSignalStrength\"O\n\x0bRspOperator\x12\x16\n\x0elong_alpha_ons\x18\x01 \x01(\t\x12\x17\n\x0fshort_alpha_ons\x18\x02 \x01(\t\x12\x0f\n\x07mcc_mnc\x18\x03 \x01(\t\"&\n\x15ReqSeparateConnection\x12\r\n\x05index\x18\x01 \x02(\x05\"\x1b\n\nReqSetMute\x12\r\n\x05state\x18\x01 \x02(\x08\"\x1f\n\x0eReqScreenState\x12\r\n\x05state\x18\x01 \x02(\x08*\xaf\x02\n\nRadioState\x12\x12\n\x0eRADIOSTATE_OFF\x10\x00\x12\x1a\n\x16RADIOSTATE_UNAVAILABLE\x10\x01\x12\x1c\n\x18RADIOSTATE_SIM_NOT_READY\x10\x02\x12#\n\x1fRADIOSTATE_SIM_LOCKED_OR_ABSENT\x10\x03\x12\x18\n\x14RADIOSTATE_SIM_READY\x10\x04\x12\x1d\n\x19RADIOSTATE_RUIM_NOT_READY\x10\x05\x12\x19\n\x15RADIOSTATE_RUIM_READY\x10\x06\x12$\n RADIOSTATE_RUIM_LOCKED_OR_ABSENT\x10\x07\x12\x1b\n\x17RADIOSTATE_NV_NOT_READY\x10\x08\x12\x17\n\x13RADIOSTATE_NV_READY\x10\t*P\n\x0cRilCardState\x12\x14\n\x10\x43\x41RDSTATE_ABSENT\x10\x00\x12\x15\n\x11\x43\x41RDSTATE_PRESENT\x10\x01\x12\x13\n\x0f\x43\x41RDSTATE_ERROR\x10\x02*\xf1\x06\n\x10RilPersoSubstate\x12\x19\n\x15PERSOSUBSTATE_UNKNOWN\x10\x00\x12\x1d\n\x19PERSOSUBSTATE_IN_PROGRESS\x10\x01\x12\x17\n\x13PERSOSUBSTATE_READY\x10\x02\x12\x1d\n\x19PERSOSUBSTATE_SIM_NETWORK\x10\x03\x12$\n PERSOSUBSTATE_SIM_NETWORK_SUBSET\x10\x04\x12\x1f\n\x1bPERSOSUBSTATE_SIM_CORPORATE\x10\x05\x12&\n\"PERSOSUBSTATE_SIM_SERVICE_PROVIDER\x10\x06\x12\x19\n\x15PERSOSUBSTATE_SIM_SIM\x10\x07\x12!\n\x1dPERSOSUBSTATE_SIM_NETWORK_PUK\x10\x08\x12(\n$PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK\x10\t\x12#\n\x1fPERSOSUBSTATE_SIM_CORPORATE_PUK\x10\n\x12*\n&PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK\x10\x0b\x12\x1d\n\x19PERSOSUBSTATE_SIM_SIM_PUK\x10\x0c\x12\x1f\n\x1bPERSOSUBSTATE_RUIM_NETWORK1\x10\r\x12\x1f\n\x1bPERSOSUBSTATE_RUIM_NETWORK2\x10\x0e\x12\x1b\n\x17PERSOSUBSTATE_RUIM_HRPD\x10\x0f\x12 \n\x1cPERSOSUBSTATE_RUIM_CORPORATE\x10\x10\x12\'\n#PERSOSUBSTATE_RUIM_SERVICE_PROVIDER\x10\x11\x12\x1b\n\x17PERSOSUBSTATE_RUIM_RUIM\x10\x12\x12#\n\x1fPERSOSUBSTATE_RUIM_NETWORK1_PUK\x10\x13\x12#\n\x1fPERSOSUBSTATE_RUIM_NETWORK2_PUK\x10\x14\x12\x1f\n\x1bPERSOSUBSTATE_RUIM_HRPD_PUK\x10\x15\x12$\n PERSOSUBSTATE_RUIM_CORPORATE_PUK\x10\x16\x12+\n\'PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK\x10\x17\x12\x1f\n\x1bPERSOSUBSTATE_RUIM_RUIM_PUK\x10\x18*\x93\x01\n\x0bRilAppState\x12\x14\n\x10\x41PPSTATE_UNKNOWN\x10\x00\x12\x15\n\x11\x41PPSTATE_DETECTED\x10\x01\x12\x10\n\x0c\x41PPSTATE_PIN\x10\x02\x12\x10\n\x0c\x41PPSTATE_PUK\x10\x03\x12\x1f\n\x1b\x41PPSTATE_SUBSCRIPTION_PERSO\x10\x04\x12\x12\n\x0e\x41PPSTATE_READY\x10\x05*\xbd\x01\n\x0bRilPinState\x12\x14\n\x10PINSTATE_UNKNOWN\x10\x00\x12!\n\x1dPINSTATE_ENABLED_NOT_VERIFIED\x10\x01\x12\x1d\n\x19PINSTATE_ENABLED_VERIFIED\x10\x02\x12\x15\n\x11PINSTATE_DISABLED\x10\x03\x12\x1c\n\x18PINSTATE_ENABLED_BLOCKED\x10\x04\x12!\n\x1dPINSTATE_ENABLED_PERM_BLOCKED\x10\x05*h\n\nRilAppType\x12\x13\n\x0f\x41PPTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0b\x41PPTYPE_SIM\x10\x01\x12\x10\n\x0c\x41PPTYPE_USIM\x10\x02\x12\x10\n\x0c\x41PPTYPE_RUIM\x10\x03\x12\x10\n\x0c\x41PPTYPE_CSIM\x10\x04*\xce\x01\n\nRilUusType\x12\x18\n\x14RILUUSTYPE1_IMPLICIT\x10\x00\x12\x18\n\x14RILUUSTYPE1_REQUIRED\x10\x01\x12\x1c\n\x18RILUUSTYPE1_NOT_REQUIRED\x10\x02\x12\x18\n\x14RILUUSTYPE2_REQUIRED\x10\x03\x12\x1c\n\x18RILUUSTYPE2_NOT_REQUIRED\x10\x04\x12\x18\n\x14RILUUSTYPE3_REQUIRED\x10\x05\x12\x1c\n\x18RILUUSTYPE3_NOT_REQUIRED\x10\x06*p\n\tRilUusDcs\x12\x11\n\rRILUUSDCS_USP\x10\x00\x12\x14\n\x10RILUUSDCS_OSIHLP\x10\x01\x12\x12\n\x0eRILUUSDCS_X244\x10\x02\x12\x12\n\x0eRILUUSDCS_RMCF\x10\x03\x12\x12\n\x0eRILUUSDCS_IA5c\x10\x04*\x99\x01\n\x0cRilCallState\x12\x14\n\x10\x43\x41LLSTATE_ACTIVE\x10\x00\x12\x15\n\x11\x43\x41LLSTATE_HOLDING\x10\x01\x12\x15\n\x11\x43\x41LLSTATE_DIALING\x10\x02\x12\x16\n\x12\x43\x41LLSTATE_ALERTING\x10\x03\x12\x16\n\x12\x43\x41LLSTATE_INCOMING\x10\x04\x12\x15\n\x11\x43\x41LLSTATE_WAITING\x10\x05\x42\x33\n(com.android.internal.telephony.ril_protoB\x07RilCmds')
-
-_RADIOSTATE = descriptor.EnumDescriptor(
-  name='RadioState',
-  full_name='ril_proto.RadioState',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_OFF', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_UNAVAILABLE', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_SIM_NOT_READY', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_SIM_LOCKED_OR_ABSENT', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_SIM_READY', index=4, number=4,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_RUIM_NOT_READY', index=5, number=5,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_RUIM_READY', index=6, number=6,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_RUIM_LOCKED_OR_ABSENT', index=7, number=7,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_NV_NOT_READY', index=8, number=8,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RADIOSTATE_NV_READY', index=9, number=9,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=2039,
-  serialized_end=2342,
-)
-
-
-_RILCARDSTATE = descriptor.EnumDescriptor(
-  name='RilCardState',
-  full_name='ril_proto.RilCardState',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='CARDSTATE_ABSENT', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CARDSTATE_PRESENT', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CARDSTATE_ERROR', index=2, number=2,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=2344,
-  serialized_end=2424,
-)
-
-
-_RILPERSOSUBSTATE = descriptor.EnumDescriptor(
-  name='RilPersoSubstate',
-  full_name='ril_proto.RilPersoSubstate',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_UNKNOWN', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_IN_PROGRESS', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_READY', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_NETWORK', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_NETWORK_SUBSET', index=4, number=4,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_CORPORATE', index=5, number=5,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_SERVICE_PROVIDER', index=6, number=6,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_SIM', index=7, number=7,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_NETWORK_PUK', index=8, number=8,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK', index=9, number=9,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_CORPORATE_PUK', index=10, number=10,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK', index=11, number=11,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_SIM_SIM_PUK', index=12, number=12,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_NETWORK1', index=13, number=13,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_NETWORK2', index=14, number=14,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_HRPD', index=15, number=15,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_CORPORATE', index=16, number=16,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_SERVICE_PROVIDER', index=17, number=17,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_RUIM', index=18, number=18,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_NETWORK1_PUK', index=19, number=19,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_NETWORK2_PUK', index=20, number=20,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_HRPD_PUK', index=21, number=21,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_CORPORATE_PUK', index=22, number=22,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK', index=23, number=23,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PERSOSUBSTATE_RUIM_RUIM_PUK', index=24, number=24,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=2427,
-  serialized_end=3308,
-)
-
-
-_RILAPPSTATE = descriptor.EnumDescriptor(
-  name='RilAppState',
-  full_name='ril_proto.RilAppState',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='APPSTATE_UNKNOWN', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPSTATE_DETECTED', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPSTATE_PIN', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPSTATE_PUK', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPSTATE_SUBSCRIPTION_PERSO', index=4, number=4,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPSTATE_READY', index=5, number=5,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3311,
-  serialized_end=3458,
-)
-
-
-_RILPINSTATE = descriptor.EnumDescriptor(
-  name='RilPinState',
-  full_name='ril_proto.RilPinState',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='PINSTATE_UNKNOWN', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PINSTATE_ENABLED_NOT_VERIFIED', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PINSTATE_ENABLED_VERIFIED', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PINSTATE_DISABLED', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PINSTATE_ENABLED_BLOCKED', index=4, number=4,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='PINSTATE_ENABLED_PERM_BLOCKED', index=5, number=5,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3461,
-  serialized_end=3650,
-)
-
-
-_RILAPPTYPE = descriptor.EnumDescriptor(
-  name='RilAppType',
-  full_name='ril_proto.RilAppType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='APPTYPE_UNKNOWN', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPTYPE_SIM', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPTYPE_USIM', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPTYPE_RUIM', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='APPTYPE_CSIM', index=4, number=4,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3652,
-  serialized_end=3756,
-)
-
-
-_RILUUSTYPE = descriptor.EnumDescriptor(
-  name='RilUusType',
-  full_name='ril_proto.RilUusType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='RILUUSTYPE1_IMPLICIT', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSTYPE1_REQUIRED', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSTYPE1_NOT_REQUIRED', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSTYPE2_REQUIRED', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSTYPE2_NOT_REQUIRED', index=4, number=4,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSTYPE3_REQUIRED', index=5, number=5,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSTYPE3_NOT_REQUIRED', index=6, number=6,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3759,
-  serialized_end=3965,
-)
-
-
-_RILUUSDCS = descriptor.EnumDescriptor(
-  name='RilUusDcs',
-  full_name='ril_proto.RilUusDcs',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='RILUUSDCS_USP', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSDCS_OSIHLP', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSDCS_X244', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSDCS_RMCF', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='RILUUSDCS_IA5c', index=4, number=4,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3967,
-  serialized_end=4079,
-)
-
-
-_RILCALLSTATE = descriptor.EnumDescriptor(
-  name='RilCallState',
-  full_name='ril_proto.RilCallState',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    descriptor.EnumValueDescriptor(
-      name='CALLSTATE_ACTIVE', index=0, number=0,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CALLSTATE_HOLDING', index=1, number=1,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CALLSTATE_DIALING', index=2, number=2,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CALLSTATE_ALERTING', index=3, number=3,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CALLSTATE_INCOMING', index=4, number=4,
-      options=None,
-      type=None),
-    descriptor.EnumValueDescriptor(
-      name='CALLSTATE_WAITING', index=5, number=5,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=4082,
-  serialized_end=4235,
-)
-
-
-RADIOSTATE_OFF = 0
-RADIOSTATE_UNAVAILABLE = 1
-RADIOSTATE_SIM_NOT_READY = 2
-RADIOSTATE_SIM_LOCKED_OR_ABSENT = 3
-RADIOSTATE_SIM_READY = 4
-RADIOSTATE_RUIM_NOT_READY = 5
-RADIOSTATE_RUIM_READY = 6
-RADIOSTATE_RUIM_LOCKED_OR_ABSENT = 7
-RADIOSTATE_NV_NOT_READY = 8
-RADIOSTATE_NV_READY = 9
-CARDSTATE_ABSENT = 0
-CARDSTATE_PRESENT = 1
-CARDSTATE_ERROR = 2
-PERSOSUBSTATE_UNKNOWN = 0
-PERSOSUBSTATE_IN_PROGRESS = 1
-PERSOSUBSTATE_READY = 2
-PERSOSUBSTATE_SIM_NETWORK = 3
-PERSOSUBSTATE_SIM_NETWORK_SUBSET = 4
-PERSOSUBSTATE_SIM_CORPORATE = 5
-PERSOSUBSTATE_SIM_SERVICE_PROVIDER = 6
-PERSOSUBSTATE_SIM_SIM = 7
-PERSOSUBSTATE_SIM_NETWORK_PUK = 8
-PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK = 9
-PERSOSUBSTATE_SIM_CORPORATE_PUK = 10
-PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK = 11
-PERSOSUBSTATE_SIM_SIM_PUK = 12
-PERSOSUBSTATE_RUIM_NETWORK1 = 13
-PERSOSUBSTATE_RUIM_NETWORK2 = 14
-PERSOSUBSTATE_RUIM_HRPD = 15
-PERSOSUBSTATE_RUIM_CORPORATE = 16
-PERSOSUBSTATE_RUIM_SERVICE_PROVIDER = 17
-PERSOSUBSTATE_RUIM_RUIM = 18
-PERSOSUBSTATE_RUIM_NETWORK1_PUK = 19
-PERSOSUBSTATE_RUIM_NETWORK2_PUK = 20
-PERSOSUBSTATE_RUIM_HRPD_PUK = 21
-PERSOSUBSTATE_RUIM_CORPORATE_PUK = 22
-PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK = 23
-PERSOSUBSTATE_RUIM_RUIM_PUK = 24
-APPSTATE_UNKNOWN = 0
-APPSTATE_DETECTED = 1
-APPSTATE_PIN = 2
-APPSTATE_PUK = 3
-APPSTATE_SUBSCRIPTION_PERSO = 4
-APPSTATE_READY = 5
-PINSTATE_UNKNOWN = 0
-PINSTATE_ENABLED_NOT_VERIFIED = 1
-PINSTATE_ENABLED_VERIFIED = 2
-PINSTATE_DISABLED = 3
-PINSTATE_ENABLED_BLOCKED = 4
-PINSTATE_ENABLED_PERM_BLOCKED = 5
-APPTYPE_UNKNOWN = 0
-APPTYPE_SIM = 1
-APPTYPE_USIM = 2
-APPTYPE_RUIM = 3
-APPTYPE_CSIM = 4
-RILUUSTYPE1_IMPLICIT = 0
-RILUUSTYPE1_REQUIRED = 1
-RILUUSTYPE1_NOT_REQUIRED = 2
-RILUUSTYPE2_REQUIRED = 3
-RILUUSTYPE2_NOT_REQUIRED = 4
-RILUUSTYPE3_REQUIRED = 5
-RILUUSTYPE3_NOT_REQUIRED = 6
-RILUUSDCS_USP = 0
-RILUUSDCS_OSIHLP = 1
-RILUUSDCS_X244 = 2
-RILUUSDCS_RMCF = 3
-RILUUSDCS_IA5c = 4
-CALLSTATE_ACTIVE = 0
-CALLSTATE_HOLDING = 1
-CALLSTATE_DIALING = 2
-CALLSTATE_ALERTING = 3
-CALLSTATE_INCOMING = 4
-CALLSTATE_WAITING = 5
-
-
-
-_RILAPPSTATUS = descriptor.Descriptor(
-  name='RilAppStatus',
-  full_name='ril_proto.RilAppStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='app_type', full_name='ril_proto.RilAppStatus.app_type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='app_state', full_name='ril_proto.RilAppStatus.app_state', index=1,
-      number=2, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='perso_substate', full_name='ril_proto.RilAppStatus.perso_substate', index=2,
-      number=3, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='aid', full_name='ril_proto.RilAppStatus.aid', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='app_label', full_name='ril_proto.RilAppStatus.app_label', index=4,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='pin1_replaced', full_name='ril_proto.RilAppStatus.pin1_replaced', index=5,
-      number=6, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='pin1', full_name='ril_proto.RilAppStatus.pin1', index=6,
-      number=7, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='pin2', full_name='ril_proto.RilAppStatus.pin2', index=7,
-      number=8, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=25,
-  serialized_end=307,
-)
-
-
-_RILCARDSTATUS = descriptor.Descriptor(
-  name='RilCardStatus',
-  full_name='ril_proto.RilCardStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='card_state', full_name='ril_proto.RilCardStatus.card_state', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='universal_pin_state', full_name='ril_proto.RilCardStatus.universal_pin_state', index=1,
-      number=2, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='gsm_umts_subscription_app_index', full_name='ril_proto.RilCardStatus.gsm_umts_subscription_app_index', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='cdma_subscription_app_index', full_name='ril_proto.RilCardStatus.cdma_subscription_app_index', index=3,
-      number=4, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='num_applications', full_name='ril_proto.RilCardStatus.num_applications', index=4,
-      number=5, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='applications', full_name='ril_proto.RilCardStatus.applications', index=5,
-      number=6, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=310,
-  serialized_end=574,
-)
-
-
-_RILUUSINFO = descriptor.Descriptor(
-  name='RilUusInfo',
-  full_name='ril_proto.RilUusInfo',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='uus_type', full_name='ril_proto.RilUusInfo.uus_type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='uus_dcs', full_name='ril_proto.RilUusInfo.uus_dcs', index=1,
-      number=2, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='uus_length', full_name='ril_proto.RilUusInfo.uus_length', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='uus_data', full_name='ril_proto.RilUusInfo.uus_data', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=577,
-  serialized_end=707,
-)
-
-
-_RILCALL = descriptor.Descriptor(
-  name='RilCall',
-  full_name='ril_proto.RilCall',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='state', full_name='ril_proto.RilCall.state', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='index', full_name='ril_proto.RilCall.index', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='toa', full_name='ril_proto.RilCall.toa', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='is_mpty', full_name='ril_proto.RilCall.is_mpty', index=3,
-      number=4, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='is_mt', full_name='ril_proto.RilCall.is_mt', index=4,
-      number=5, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='als', full_name='ril_proto.RilCall.als', index=5,
-      number=6, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='is_voice', full_name='ril_proto.RilCall.is_voice', index=6,
-      number=7, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='is_voice_privacy', full_name='ril_proto.RilCall.is_voice_privacy', index=7,
-      number=8, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='number', full_name='ril_proto.RilCall.number', index=8,
-      number=9, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='number_presentation', full_name='ril_proto.RilCall.number_presentation', index=9,
-      number=10, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='name', full_name='ril_proto.RilCall.name', index=10,
-      number=11, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='name_presentation', full_name='ril_proto.RilCall.name_presentation', index=11,
-      number=12, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='uus_info', full_name='ril_proto.RilCall.uus_info', index=12,
-      number=13, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=710,
-  serialized_end=1003,
-)
-
-
-_RILGWSIGNALSTRENGTH = descriptor.Descriptor(
-  name='RILGWSignalStrength',
-  full_name='ril_proto.RILGWSignalStrength',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='signal_strength', full_name='ril_proto.RILGWSignalStrength.signal_strength', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='bit_error_rate', full_name='ril_proto.RILGWSignalStrength.bit_error_rate', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1005,
-  serialized_end=1075,
-)
-
-
-_RILCDMASIGNALSTRENGTH = descriptor.Descriptor(
-  name='RILCDMASignalStrength',
-  full_name='ril_proto.RILCDMASignalStrength',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='dbm', full_name='ril_proto.RILCDMASignalStrength.dbm', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='ecio', full_name='ril_proto.RILCDMASignalStrength.ecio', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1077,
-  serialized_end=1127,
-)
-
-
-_RILEVDOSIGNALSTRENGTH = descriptor.Descriptor(
-  name='RILEVDOSignalStrength',
-  full_name='ril_proto.RILEVDOSignalStrength',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='dbm', full_name='ril_proto.RILEVDOSignalStrength.dbm', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='ecio', full_name='ril_proto.RILEVDOSignalStrength.ecio', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='signal_noise_ratio', full_name='ril_proto.RILEVDOSignalStrength.signal_noise_ratio', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1129,
-  serialized_end=1207,
-)
-
-
-_RSPSTRINGS = descriptor.Descriptor(
-  name='RspStrings',
-  full_name='ril_proto.RspStrings',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='strings', full_name='ril_proto.RspStrings.strings', index=0,
-      number=1, type=9, cpp_type=9, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1209,
-  serialized_end=1238,
-)
-
-
-_RSPINTEGERS = descriptor.Descriptor(
-  name='RspIntegers',
-  full_name='ril_proto.RspIntegers',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='integers', full_name='ril_proto.RspIntegers.integers', index=0,
-      number=1, type=5, cpp_type=1, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1240,
-  serialized_end=1271,
-)
-
-
-_RSPGETSIMSTATUS = descriptor.Descriptor(
-  name='RspGetSimStatus',
-  full_name='ril_proto.RspGetSimStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='card_status', full_name='ril_proto.RspGetSimStatus.card_status', index=0,
-      number=1, type=11, cpp_type=10, label=2,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1273,
-  serialized_end=1337,
-)
-
-
-_REQENTERSIMPIN = descriptor.Descriptor(
-  name='ReqEnterSimPin',
-  full_name='ril_proto.ReqEnterSimPin',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='pin', full_name='ril_proto.ReqEnterSimPin.pin', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1339,
-  serialized_end=1368,
-)
-
-
-_RSPENTERSIMPIN = descriptor.Descriptor(
-  name='RspEnterSimPin',
-  full_name='ril_proto.RspEnterSimPin',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='retries_remaining', full_name='ril_proto.RspEnterSimPin.retries_remaining', index=0,
-      number=1, type=5, cpp_type=1, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1370,
-  serialized_end=1413,
-)
-
-
-_RSPGETCURRENTCALLS = descriptor.Descriptor(
-  name='RspGetCurrentCalls',
-  full_name='ril_proto.RspGetCurrentCalls',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='calls', full_name='ril_proto.RspGetCurrentCalls.calls', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1415,
-  serialized_end=1470,
-)
-
-
-_REQDIAL = descriptor.Descriptor(
-  name='ReqDial',
-  full_name='ril_proto.ReqDial',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='address', full_name='ril_proto.ReqDial.address', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='clir', full_name='ril_proto.ReqDial.clir', index=1,
-      number=2, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='uus_info', full_name='ril_proto.ReqDial.uus_info', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1472,
-  serialized_end=1553,
-)
-
-
-_REQHANGUP = descriptor.Descriptor(
-  name='ReqHangUp',
-  full_name='ril_proto.ReqHangUp',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='connection_index', full_name='ril_proto.ReqHangUp.connection_index', index=0,
-      number=1, type=5, cpp_type=1, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1555,
-  serialized_end=1592,
-)
-
-
-_RSPLASTCALLFAILCAUSE = descriptor.Descriptor(
-  name='RspLastCallFailCause',
-  full_name='ril_proto.RspLastCallFailCause',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='last_call_fail_cause', full_name='ril_proto.RspLastCallFailCause.last_call_fail_cause', index=0,
-      number=1, type=5, cpp_type=1, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1594,
-  serialized_end=1646,
-)
-
-
-_RSPSIGNALSTRENGTH = descriptor.Descriptor(
-  name='RspSignalStrength',
-  full_name='ril_proto.RspSignalStrength',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='gw_signalstrength', full_name='ril_proto.RspSignalStrength.gw_signalstrength', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='cdma_signalstrength', full_name='ril_proto.RspSignalStrength.cdma_signalstrength', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='evdo_signalstrength', full_name='ril_proto.RspSignalStrength.evdo_signalstrength', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1649,
-  serialized_end=1853,
-)
-
-
-_RSPOPERATOR = descriptor.Descriptor(
-  name='RspOperator',
-  full_name='ril_proto.RspOperator',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='long_alpha_ons', full_name='ril_proto.RspOperator.long_alpha_ons', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='short_alpha_ons', full_name='ril_proto.RspOperator.short_alpha_ons', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    descriptor.FieldDescriptor(
-      name='mcc_mnc', full_name='ril_proto.RspOperator.mcc_mnc', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=unicode("", "utf-8"),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1855,
-  serialized_end=1934,
-)
-
-
-_REQSEPARATECONNECTION = descriptor.Descriptor(
-  name='ReqSeparateConnection',
-  full_name='ril_proto.ReqSeparateConnection',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='index', full_name='ril_proto.ReqSeparateConnection.index', index=0,
-      number=1, type=5, cpp_type=1, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1936,
-  serialized_end=1974,
-)
-
-
-_REQSETMUTE = descriptor.Descriptor(
-  name='ReqSetMute',
-  full_name='ril_proto.ReqSetMute',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='state', full_name='ril_proto.ReqSetMute.state', index=0,
-      number=1, type=8, cpp_type=7, label=2,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=1976,
-  serialized_end=2003,
-)
-
-
-_REQSCREENSTATE = descriptor.Descriptor(
-  name='ReqScreenState',
-  full_name='ril_proto.ReqScreenState',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    descriptor.FieldDescriptor(
-      name='state', full_name='ril_proto.ReqScreenState.state', index=0,
-      number=1, type=8, cpp_type=7, label=2,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  extension_ranges=[],
-  serialized_start=2005,
-  serialized_end=2036,
-)
-
-
-_RILAPPSTATUS.fields_by_name['app_type'].enum_type = _RILAPPTYPE
-_RILAPPSTATUS.fields_by_name['app_state'].enum_type = _RILAPPSTATE
-_RILAPPSTATUS.fields_by_name['perso_substate'].enum_type = _RILPERSOSUBSTATE
-_RILAPPSTATUS.fields_by_name['pin1'].enum_type = _RILPINSTATE
-_RILAPPSTATUS.fields_by_name['pin2'].enum_type = _RILPINSTATE
-_RILCARDSTATUS.fields_by_name['card_state'].enum_type = _RILCARDSTATE
-_RILCARDSTATUS.fields_by_name['universal_pin_state'].enum_type = _RILPINSTATE
-_RILCARDSTATUS.fields_by_name['applications'].message_type = _RILAPPSTATUS
-_RILUUSINFO.fields_by_name['uus_type'].enum_type = _RILUUSTYPE
-_RILUUSINFO.fields_by_name['uus_dcs'].enum_type = _RILUUSDCS
-_RILCALL.fields_by_name['state'].enum_type = _RILCALLSTATE
-_RILCALL.fields_by_name['uus_info'].message_type = _RILUUSINFO
-_RSPGETSIMSTATUS.fields_by_name['card_status'].message_type = _RILCARDSTATUS
-_RSPGETCURRENTCALLS.fields_by_name['calls'].message_type = _RILCALL
-_REQDIAL.fields_by_name['uus_info'].message_type = _RILUUSINFO
-_RSPSIGNALSTRENGTH.fields_by_name['gw_signalstrength'].message_type = _RILGWSIGNALSTRENGTH
-_RSPSIGNALSTRENGTH.fields_by_name['cdma_signalstrength'].message_type = _RILCDMASIGNALSTRENGTH
-_RSPSIGNALSTRENGTH.fields_by_name['evdo_signalstrength'].message_type = _RILEVDOSIGNALSTRENGTH
-
-class RilAppStatus(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RILAPPSTATUS
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RilAppStatus)
-
-class RilCardStatus(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RILCARDSTATUS
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RilCardStatus)
-
-class RilUusInfo(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RILUUSINFO
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RilUusInfo)
-
-class RilCall(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RILCALL
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RilCall)
-
-class RILGWSignalStrength(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RILGWSIGNALSTRENGTH
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RILGWSignalStrength)
-
-class RILCDMASignalStrength(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RILCDMASIGNALSTRENGTH
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RILCDMASignalStrength)
-
-class RILEVDOSignalStrength(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RILEVDOSIGNALSTRENGTH
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RILEVDOSignalStrength)
-
-class RspStrings(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPSTRINGS
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspStrings)
-
-class RspIntegers(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPINTEGERS
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspIntegers)
-
-class RspGetSimStatus(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPGETSIMSTATUS
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspGetSimStatus)
-
-class ReqEnterSimPin(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _REQENTERSIMPIN
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.ReqEnterSimPin)
-
-class RspEnterSimPin(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPENTERSIMPIN
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspEnterSimPin)
-
-class RspGetCurrentCalls(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPGETCURRENTCALLS
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspGetCurrentCalls)
-
-class ReqDial(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _REQDIAL
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.ReqDial)
-
-class ReqHangUp(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _REQHANGUP
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.ReqHangUp)
-
-class RspLastCallFailCause(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPLASTCALLFAILCAUSE
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspLastCallFailCause)
-
-class RspSignalStrength(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPSIGNALSTRENGTH
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspSignalStrength)
-
-class RspOperator(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _RSPOPERATOR
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.RspOperator)
-
-class ReqSeparateConnection(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _REQSEPARATECONNECTION
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.ReqSeparateConnection)
-
-class ReqSetMute(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _REQSETMUTE
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.ReqSetMute)
-
-class ReqScreenState(message.Message):
-  __metaclass__ = reflection.GeneratedProtocolMessageType
-  DESCRIPTOR = _REQSCREENSTATE
-  
-  # @@protoc_insertion_point(class_scope:ril_proto.ReqScreenState)
-
-# @@protoc_insertion_point(module_scope)
diff --git a/mock-ril/src/js/mock_ril.js b/mock-ril/src/js/mock_ril.js
index f7c4901..8485358 100644
--- a/mock-ril/src/js/mock_ril.js
+++ b/mock-ril/src/js/mock_ril.js
@@ -260,10 +260,10 @@
 dispatchTable[RIL_REQUEST_SIGNAL_STRENGTH]  = { // 19
     'components' : [simulatedRadioWorker],
 };
-dispatchTable[RIL_REQUEST_REGISTRATION_STATE] = { // 20
+dispatchTable[RIL_REQUEST_VOICE_REGISTRATION_STATE] = { // 20
     'components' : [simulatedRadioWorker],
 };
-dispatchTable[RIL_REQUEST_GPRS_REGISTRATION_STATE] = { // 21
+dispatchTable[RIL_REQUEST_DATA_REGISTRATION_STATE] = { // 21
     'components' : [simulatedRadioWorker],
 };
 dispatchTable[RIL_REQUEST_OPERATOR] = { // 22
diff --git a/mock-ril/src/js/ril_vars.js b/mock-ril/src/js/ril_vars.js
index 82461d5..aadc35a 100644
--- a/mock-ril/src/js/ril_vars.js
+++ b/mock-ril/src/js/ril_vars.js
@@ -187,8 +187,8 @@
 var RIL_REQUEST_UDUB = 17
 var RIL_REQUEST_LAST_CALL_FAIL_CAUSE = 18
 var RIL_REQUEST_SIGNAL_STRENGTH = 19
-var RIL_REQUEST_REGISTRATION_STATE = 20
-var RIL_REQUEST_GPRS_REGISTRATION_STATE = 21
+var RIL_REQUEST_VOICE_REGISTRATION_STATE = 20
+var RIL_REQUEST_DATA_REGISTRATION_STATE = 21
 var RIL_REQUEST_OPERATOR = 22
 var RIL_REQUEST_RADIO_POWER = 23
 var RIL_REQUEST_DTMF = 24
diff --git a/mock-ril/src/js/simulated_icc.js b/mock-ril/src/js/simulated_icc.js
index ee8e4d1..959031f 100644
--- a/mock-ril/src/js/simulated_icc.js
+++ b/mock-ril/src/js/simulated_icc.js
@@ -41,6 +41,7 @@
         this.universalPinState = PINSTATE_UNKNOWN;
         this.gsmUmtsSubscriptionAppIndex = 0;
         this.cdmaSubscriptionAppIndex = CARD_MAX_APPS;
+        this.imsSubscriptionAppIndex = CARD_MAX_APPS;
         this.numApplications = 1;
         this.applications = new Array(CARD_MAX_APPS);
 
diff --git a/mock-ril/src/js/simulated_radio.js b/mock-ril/src/js/simulated_radio.js
index fb79356..9153694 100644
--- a/mock-ril/src/js/simulated_radio.js
+++ b/mock-ril/src/js/simulated_radio.js
@@ -134,9 +134,18 @@
         this.signalNoiseRatio = 0;
     }
 
+    function LTESignalStrength() {
+        this.signalStrength = -1;
+        this.rsrp = 0;
+        this.rsrq = 0;
+        this.rssnr = 0;
+        this.cqi = 0;
+    }
+
     var gwSignalStrength = new GWSignalStrength;
     var cdmaSignalStrength = new CDMASignalStrength();
     var evdoSignalStrength = new EVDOSignalStrength();
+    var lteSignalStrength = new LTESignalStrength();
 
     /**
      * The the array of calls, this is a sparse
@@ -293,6 +302,11 @@
         print('evdoRssi: ' + evdoSignalStrength.dbm);
         print('evdoEcio: ' + evdoSignalStrength.ecio);
         print('evdoSnr: '  + evdoSignalStrength.signalNoiseRatio);
+        print('lteRssi: '  + lteSignalStrength.signalStrength);
+        print('lteRsrp: '  + lteSignalStrength.rsrp);
+        print('lteRsrq: '  + lteSignalStrength.rsrq);
+        print('lteRssnr: ' + lteSignalStrength.rssnr);
+        print('lteCqi: '   + lteSignalStrength.cqi);
     }
 
     /**
@@ -302,7 +316,8 @@
      *        cdmaDbm, cdmaEcio, evdoRssi, evdoEcio, evdoSnr are parameters for CDMA & EVDO
      */
     this.setSignalStrength = function(rssi, bitErrorRate, cdmaDbm, cdmaEcio, evdoRssi,
-                                      evdoEcio, evdoSnr) {
+                                      evdoEcio, evdoSnr, lteSigStrength, lteRsrp,
+                                      lteRsrq, lteRssnr, lteCqi) {
         print('setSignalStrength E');
 
         if (rssi != 99) {
@@ -318,6 +333,11 @@
         evdoSignalStrength.dbm = evdoRssi;
         evdoSignalStrength.ecio = evdoEcio;
         evdoSignalStrength.signalNoiseRatio = evdoSnr;
+        lteSignalStrength.signalStrength = lteSigStrength;
+        lteSignalStrength.rsrp = lteRsrp;
+        lteSignalStrength.rsrq = lteRsrq;
+        lteSignalStrength.rssnr = lteRssnr;
+        lteSignalStrength.cqi = lteCqi;
 
         // pack the signal strength into RspSignalStrength and send a unsolicited response
         var rsp = new Object();
@@ -325,6 +345,7 @@
         rsp.gwSignalstrength = gwSignalStrength;
         rsp.cdmSignalstrength = cdmaSignalStrength;
         rsp.evdoSignalstrength = evdoSignalStrength;
+        rsp.lteSignalstrength = lteSignalStrength;
 
         var response = rilSchema[packageNameAndSeperator +
                              'RspSignalStrength'].serialize(rsp);
@@ -633,12 +654,12 @@
     }
 
     /**
-     * Handle RIL_REQUEST_REGISTRATION_STATE
+     * Handle RIL_REQUEST_VOICE_REGISTRATION_STATE
      *
      * @param req is the Request
      */
-    this.rilRequestRegistrationState = function(req) { // 20
-        print('Radio: rilRequestRegistrationState');
+    this.rilRequestVoiceRegistrationState = function(req) { // 20
+        print('Radio: rilRequestVoiceRegistrationState');
 
         var rsp = new Object();
         rsp.strings = Array();
@@ -664,12 +685,12 @@
     }
 
     /**
-     * Handle RIL_REQUEST_GPRS_REGISTRATION_STATE
+     * Handle RIL_REQUEST_DATA_REGISTRATION_STATE
      *
      * @param req is the Request
      */
-    this.rilRequestGprsRegistrationState = function(req) { // 21
-        print('Radio: rilRequestGprsRegistrationState');
+    this.rilRequestDataRegistrationState = function(req) { // 21
+        print('Radio: rilRequestDataRegistrationState');
 
         var rsp = new Object();
         rsp.strings = Array();
@@ -1182,10 +1203,10 @@
                 this.rilRequestLastCallFailCause;
     this.radioDispatchTable[RIL_REQUEST_SIGNAL_STRENGTH] = // 19
                 this.rilRequestSignalStrength;
-    this.radioDispatchTable[RIL_REQUEST_REGISTRATION_STATE] = // 20
-                this.rilRequestRegistrationState;
-    this.radioDispatchTable[RIL_REQUEST_GPRS_REGISTRATION_STATE] = // 21
-                this.rilRequestGprsRegistrationState;
+    this.radioDispatchTable[RIL_REQUEST_VOICE_REGISTRATION_STATE] = // 20
+                this.rilRequestVoiceRegistrationState;
+    this.radioDispatchTable[RIL_REQUEST_DATA_REGISTRATION_STATE] = // 21
+                this.rilRequestDataRegistrationState;
     this.radioDispatchTable[RIL_REQUEST_ANSWER] = // 40
                 this.rilRequestAnswer;
     this.radioDispatchTable[RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE] = // 45
diff --git a/mock-ril/src/js/simulated_radio_tests.js b/mock-ril/src/js/simulated_radio_tests.js
index e6b027b..497767b 100644
--- a/mock-ril/src/js/simulated_radio_tests.js
+++ b/mock-ril/src/js/simulated_radio_tests.js
@@ -26,13 +26,13 @@
         print('testSetSignalStrength E:');
         simulatedRadio.printSignalStrength();
         try {
-            simulatedRadio.setSignalStrength(0, -1, -1, -1, -1, -1, -1);
+            simulatedRadio.setSignalStrength(0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
         } catch (err) {
             print('test failed');
         }
         simulatedRadio.printSignalStrength();
         try {
-            simulatedRadio.setSignalStrength(60, 30, 29 , 28, 27, 26, 25);
+            simulatedRadio.setSignalStrength(60, 30, 29 , 28, 27, 26, 25, 24, 23, 22, 21, 20);
         } catch (err) {
             print('test success: ' + err);
         }
diff --git a/mock-ril/src/proto/ctrl.proto b/mock-ril/src/proto/ctrl.proto
index 9a5f929..0705386 100644
--- a/mock-ril/src/proto/ctrl.proto
+++ b/mock-ril/src/proto/ctrl.proto
@@ -6,7 +6,7 @@
 option java_package='com.android.internal.telephony.ril_proto';
 option java_outer_classname='RilCtrlCmds';
 
-import "ril.proto";
+import "hardware/ril/mock-ril/src/proto/ril.proto";
 
 enum CtrlCmd {
   CTRL_CMD_ECHO = 0;
diff --git a/mock-ril/src/proto/ril.proto b/mock-ril/src/proto/ril.proto
index 9967204..f7c2e73 100644
--- a/mock-ril/src/proto/ril.proto
+++ b/mock-ril/src/proto/ril.proto
@@ -103,8 +103,9 @@
   optional RilPinState  universal_pin_state             = 2; /* applicable to USIM and CSIM: PINSTATE_xxx */
   optional int32        gsm_umts_subscription_app_index = 3; /* value < CARD_MAX_APPS */
   optional int32        cdma_subscription_app_index     = 4; /* value < CARD_MAX_APPS */
-  optional int32        num_applications                = 5; /* value <= CARD_MAX_APPS */
-  repeated RilAppStatus applications                    = 6; /* CARD_MAX_APPS == 8 */
+  optional int32        ims_subscription_app_index      = 5; /* value < CARD_MAX_APPS */
+  optional int32        num_applications                = 6; /* value <= CARD_MAX_APPS */
+  repeated RilAppStatus applications                    = 7; /* CARD_MAX_APPS == 8 */
 }
 
 /* User-to-User signaling Info activation types derived from 3GPP 23.087 v8.0 */
@@ -198,6 +199,19 @@
                                         8 is the highest signal to noise ratio. */
 }
 
+message RILLTESignalStrength {
+    optional int32 signal_strength = 1; /* Valid values are (0-31, 99)
+                                         *  as defined in TS 27.007 8.5 */
+    optional int32 rsrp = 2;            /* The current Reference Signal Receive Power in dBm
+                                         * multipled by -1. Range: 44 to 140 dBm,
+                                         * TODO: doc reference */
+    optional int32 rsrq = 3;            /* The current Reference Signal Receive Quality in dB
+                                         * multiplied by -1. Range: 20 to 3 dB.
+                                         * TODO: doc reference */
+    optional int32 rssnr = 4;           /* TODO: Need documentation and doc reference */
+    optional int32 cqi = 5;             /* TODO: Need documentation and doc reference */
+}
+
 // Response is an array of strings.
 //
 // If a strings(i) is "*magic-null*" then that value will be returned as null.
@@ -256,6 +270,7 @@
     optional RILGWSignalStrength   gw_signalstrength   = 1;
     optional RILCDMASignalStrength cdma_signalstrength = 2;
     optional RILEVDOSignalStrength evdo_signalstrength = 3;
+    optional RILLTESignalStrength lte_signalstrength = 4;
 }
 
 // 22 RIL_REQUEST_OPERATOR response
diff --git a/reference-cdma-sms/Android.mk b/reference-cdma-sms/Android.mk
deleted file mode 100644
index a179d8c..0000000
--- a/reference-cdma-sms/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2008 The Android Open Source Project
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
-    reference-cdma-sms.c
-
-LOCAL_SHARED_LIBRARIES := \
-    libcutils libutils libril
-
-# for asprinf
-LOCAL_CFLAGS := -D_GNU_SOURCE
-
-LOCAL_C_INCLUDES := $(KERNEL_HEADERS)
-
-LOCAL_SHARED_LIBRARIES += \
-  libcutils libutils
-LOCAL_LDLIBS += -lpthread
-LOCAL_MODULE:= libreference-cdma-sms
-include $(BUILD_SHARED_LIBRARY)
diff --git a/reference-cdma-sms/reference-cdma-sms.c b/reference-cdma-sms/reference-cdma-sms.c
deleted file mode 100644
index 89b2774..0000000
--- a/reference-cdma-sms/reference-cdma-sms.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#include "reference-cdma-sms.h"
-
-#undef LOG_TAG
-#define LOG_TAG "CDMA"
-#include <utils/Log.h>
-
-RIL_Errno wmsts_ril_cdma_decode_sms( RIL_CDMA_Encoded_SMS *  encoded_sms,
-        RIL_CDMA_SMS_ClientBd * client_bd) {
-    LOGE("ril_cdma_decode_sms function not implemented\n");
-    return RIL_E_GENERIC_FAILURE;
-  }
-
-RIL_Errno wmsts_ril_cdma_encode_sms(RIL_CDMA_SMS_ClientBd * client_bd,
-        RIL_CDMA_Encoded_SMS *  encoded_sms) {
-
-    LOGE("ril_cdma_encode_sms function not implemented\n");
-    return RIL_E_GENERIC_FAILURE;
-  }
diff --git a/reference-cdma-sms/reference-cdma-sms.h b/reference-cdma-sms/reference-cdma-sms.h
deleted file mode 100644
index 443ddf5..0000000
--- a/reference-cdma-sms/reference-cdma-sms.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef REFERENCE_CDMA_SMS_H
-#define REFERENCE_CDMA_SMS_H 1
-
-#include <telephony/ril.h>
-#include <telephony/ril_cdma_sms.h>
-
-/**
- * TODO T:
- * check if Bearer data subparameter mask values (CDMS_SMA_MASK_*) have to be moved to ril_cdma_sms.h
- * vendor implementation needs to use ril_cdma_decode_sms and ril_cdma_encode_sms as function names
- */
-
-/** Bearer data subparameter mask values: */
-// TODO T: use enum from vendor .h
-#define WMS_MASK_BD_NULL                 0x00000000
-#define WMS_MASK_BD_MSG_ID               0x00000001
-#define WMS_MASK_BD_USER_DATA            0x00000002
-#define WMS_MASK_BD_USER_RESP            0x00000004
-#define WMS_MASK_BD_MC_TIME              0x00000008
-#define WMS_MASK_BD_VALID_ABS            0x00000010
-#define WMS_MASK_BD_VALID_REL            0x00000020
-#define WMS_MASK_BD_DEFER_ABS            0x00000040
-#define WMS_MASK_BD_DEFER_REL            0x00000080
-#define WMS_MASK_BD_PRIORITY             0x00000100
-#define WMS_MASK_BD_PRIVACY              0x00000200
-#define WMS_MASK_BD_REPLY_OPTION         0x00000400
-#define WMS_MASK_BD_NUM_OF_MSGS          0x00000800
-#define WMS_MASK_BD_ALERT                0x00001000
-#define WMS_MASK_BD_LANGUAGE             0x00002000
-#define WMS_MASK_BD_CALLBACK             0x00004000
-#define WMS_MASK_BD_DISPLAY_MODE         0x00008000
-#define WMS_MASK_BD_SCPT_DATA            0x00010000
-#define WMS_MASK_BD_SCPT_RESULT          0x00020000
-#define WMS_MASK_BD_DEPOSIT_INDEX        0x00040000
-#define WMS_MASK_BD_DELIVERY_STATUS      0x00080000
-#define WMS_MASK_BD_IP_ADDRESS           0x10000000
-#define WMS_MASK_BD_RSN_NO_NOTIFY        0x20000000
-#define WMS_MASK_BD_OTHER                0x40000000
-
-
-/** Decode a CDMA SMS Message. */
-RIL_Errno wmsts_ril_cdma_decode_sms (
-    RIL_CDMA_Encoded_SMS *  encoded_sms,   /* Input */
-    RIL_CDMA_SMS_ClientBd * client_bd      /* Output */
-);
-
-/** Encode a CDMA SMS Message. */
-RIL_Errno wmsts_ril_cdma_encode_sms (
-    RIL_CDMA_SMS_ClientBd * client_bd,     /* Input */
-    RIL_CDMA_Encoded_SMS *  encoded_sms    /* Output */
-);
-
-#endif /*REFERENCE_CDMA_SMS_H*/
-
diff --git a/reference-ril/reference-ril.c b/reference-ril/reference-ril.c
index 633ad8b..197f070 100644
--- a/reference-ril/reference-ril.c
+++ b/reference-ril/reference-ril.c
@@ -15,7 +15,6 @@
 ** limitations under the License.
 */
 
-#include <telephony/ril.h>
 #include <stdio.h>
 #include <assert.h>
 #include <string.h>
@@ -33,6 +32,9 @@
 #include <sys/socket.h>
 #include <cutils/sockets.h>
 #include <termios.h>
+#include <sys/system_properties.h>
+
+#include "ril.h"
 
 #define LOG_TAG "RIL"
 #include <utils/Log.h>
@@ -40,7 +42,7 @@
 #define MAX_AT_RESPONSE 0x1000
 
 /* pathname returned from RIL_REQUEST_SETUP_DATA_CALL / RIL_REQUEST_SETUP_DEFAULT_PDP */
-#define PPP_TTY_PATH "/dev/omap_csmi_tty1"
+#define PPP_TTY_PATH "eth0"
 
 #ifdef USE_TI_COMMANDS
 
@@ -63,7 +65,7 @@
     SIM_PIN = 3,
     SIM_PUK = 4,
     SIM_NETWORK_PERSONALIZATION = 5
-} SIM_Status; 
+} SIM_Status;
 
 static void onRequest (int request, void *data, size_t datalen, RIL_Token t);
 static RIL_RadioState currentState();
@@ -72,8 +74,8 @@
 static const char *getVersion();
 static int isRadioOn();
 static SIM_Status getSIMStatus();
-static int getCardStatus(RIL_CardStatus **pp_card_status);
-static void freeCardStatus(RIL_CardStatus *p_card_status);
+static int getCardStatus(RIL_CardStatus_v6 **pp_card_status);
+static void freeCardStatus(RIL_CardStatus_v6 *p_card_status);
 static void onDataCallListChanged(void *param);
 
 extern const char * requestToString(int request);
@@ -315,19 +317,22 @@
          p_cur = p_cur->p_next)
         n++;
 
-    RIL_Data_Call_Response *responses =
-        alloca(n * sizeof(RIL_Data_Call_Response));
+    RIL_Data_Call_Response_v6 *responses =
+        alloca(n * sizeof(RIL_Data_Call_Response_v6));
 
     int i;
     for (i = 0; i < n; i++) {
+        responses[i].status = -1;
         responses[i].cid = -1;
         responses[i].active = -1;
         responses[i].type = "";
-        responses[i].apn = "";
-        responses[i].address = "";
+        responses[i].ifname = "";
+        responses[i].addresses = "";
+        responses[i].dnses = "";
+        responses[i].gateways = "";
     }
 
-    RIL_Data_Call_Response *response = responses;
+    RIL_Data_Call_Response_v6 *response = responses;
     for (p_cur = p_response->p_intermediates; p_cur != NULL;
          p_cur = p_cur->p_next) {
         char *line = p_cur->line;
@@ -363,10 +368,6 @@
          p_cur = p_cur->p_next) {
         char *line = p_cur->line;
         int cid;
-        char *type;
-        char *apn;
-        char *address;
-
 
         err = at_tok_start(&line);
         if (err < 0)
@@ -386,37 +387,88 @@
             continue;
         }
 
+        // Assume no error
+        responses[i].status = 0;
+
+        // type
         err = at_tok_nextstr(&line, &out);
         if (err < 0)
             goto error;
-
         responses[i].type = alloca(strlen(out) + 1);
         strcpy(responses[i].type, out);
 
+        // APN ignored for v5
         err = at_tok_nextstr(&line, &out);
         if (err < 0)
             goto error;
 
-        responses[i].apn = alloca(strlen(out) + 1);
-        strcpy(responses[i].apn, out);
+        responses[i].ifname = alloca(strlen(PPP_TTY_PATH) + 1);
+        strcpy(responses[i].ifname, PPP_TTY_PATH);
 
         err = at_tok_nextstr(&line, &out);
         if (err < 0)
             goto error;
 
-        responses[i].address = alloca(strlen(out) + 1);
-        strcpy(responses[i].address, out);
+        responses[i].addresses = alloca(strlen(out) + 1);
+        strcpy(responses[i].addresses, out);
+
+        {
+            char  propValue[PROP_VALUE_MAX];
+
+            if (__system_property_get("ro.kernel.qemu", propValue) != 0) {
+                /* We are in the emulator - the dns servers are listed
+                 * by the following system properties, setup in
+                 * /system/etc/init.goldfish.sh:
+                 *  - net.eth0.dns1
+                 *  - net.eth0.dns2
+                 *  - net.eth0.dns3
+                 *  - net.eth0.dns4
+                 */
+                const int   dnslist_sz = 128;
+                char*       dnslist = alloca(dnslist_sz);
+                const char* separator = "";
+                int         nn;
+
+                dnslist[0] = 0;
+                for (nn = 1; nn <= 4; nn++) {
+                    /* Probe net.eth0.dns<n> */
+                    char  propName[PROP_NAME_MAX];
+                    snprintf(propName, sizeof propName, "net.eth0.dns%d", nn);
+
+                    /* Ignore if undefined */
+                    if (__system_property_get(propName, propValue) == 0) {
+                        continue;
+                    }
+
+                    /* Append the DNS IP address */
+                    strlcat(dnslist, separator, dnslist_sz);
+                    strlcat(dnslist, propValue, dnslist_sz);
+                    separator = " ";
+                }
+                responses[i].dnses = dnslist;
+
+                /* There is only on gateway in the emulator */
+                responses[i].gateways = "10.0.2.2";
+            }
+            else {
+                /* I don't know where we are, so use the public Google DNS
+                 * servers by default and no gateway.
+                 */
+                responses[i].dnses = "8.8.8.8 8.8.4.4";
+                responses[i].gateways = "";
+            }
+        }
     }
 
     at_response_free(p_response);
 
     if (t != NULL)
         RIL_onRequestComplete(*t, RIL_E_SUCCESS, responses,
-                              n * sizeof(RIL_Data_Call_Response));
+                              n * sizeof(RIL_Data_Call_Response_v6));
     else
         RIL_onUnsolicitedResponse(RIL_UNSOL_DATA_CALL_LIST_CHANGED,
                                   responses,
-                                  n * sizeof(RIL_Data_Call_Response));
+                                  n * sizeof(RIL_Data_Call_Response_v6));
 
     return;
 
@@ -723,10 +775,10 @@
     int count = 3;
 
 
-    if (request == RIL_REQUEST_REGISTRATION_STATE) {
+    if (request == RIL_REQUEST_VOICE_REGISTRATION_STATE) {
         cmd = "AT+CREG?";
         prefix = "+CREG:";
-    } else if (request == RIL_REQUEST_GPRS_REGISTRATION_STATE) {
+    } else if (request == RIL_REQUEST_DATA_REGISTRATION_STATE) {
         cmd = "AT+CGREG?";
         prefix = "+CGREG:";
     } else {
@@ -960,7 +1012,6 @@
     char *cmd;
     int err;
     ATResponse *p_response = NULL;
-    char *response[2] = { "1", PPP_TTY_PATH };
 
     apn = ((const char **)data)[2];
 
@@ -978,22 +1029,23 @@
     ssize_t written, rlen;
     char status[32] = {0};
     int retry = 10;
+    const char *pdp_type;
 
     LOGD("requesting data connection to APN '%s'", apn);
 
     fd = open ("/dev/qmi", O_RDWR);
     if (fd >= 0) { /* the device doesn't exist on the emulator */
 
-	    LOGD("opened the qmi device\n");
-	    asprintf(&cmd, "up:%s", apn);
-	    len = strlen(cmd);
+        LOGD("opened the qmi device\n");
+        asprintf(&cmd, "up:%s", apn);
+        len = strlen(cmd);
 
-	    while (cur < len) {
-		    do {
-	            written = write (fd, cmd + cur, len - cur);
-	        } while (written < 0 && errno == EINTR);
+        while (cur < len) {
+            do {
+                written = write (fd, cmd + cur, len - cur);
+            } while (written < 0 && errno == EINTR);
 
-	        if (written < 0) {
+            if (written < 0) {
                 LOGE("### ERROR writing to /dev/qmi");
                 close(fd);
                 goto error;
@@ -1024,43 +1076,50 @@
 
         if (retry == 0) {
             LOGE("### Failed to get data connection up\n");
-	        goto error;
-		}
+            goto error;
+        }
 
         qmistatus = system("netcfg rmnet0 dhcp");
 
         LOGD("netcfg rmnet0 dhcp: status %d\n", qmistatus);
 
-	    if (qmistatus < 0) goto error;
+        if (qmistatus < 0) goto error;
 
-	} else {
+    } else {
 
-        asprintf(&cmd, "AT+CGDCONT=1,\"IP\",\"%s\",,0,0", apn);
-	    //FIXME check for error here
-	    err = at_send_command(cmd, NULL);
-	    free(cmd);
+        if (datalen > 6 * sizeof(char *)) {
+            pdp_type = ((const char **)data)[6];
+        } else {
+            pdp_type = "IP";
+        }
 
-	    // Set required QoS params to default
-	    err = at_send_command("AT+CGQREQ=1", NULL);
+        asprintf(&cmd, "AT+CGDCONT=1,\"%s\",\"%s\",,0,0", pdp_type, apn);
+        //FIXME check for error here
+        err = at_send_command(cmd, NULL);
+        free(cmd);
 
-	    // Set minimum QoS params to default
-	    err = at_send_command("AT+CGQMIN=1", NULL);
+        // Set required QoS params to default
+        err = at_send_command("AT+CGQREQ=1", NULL);
 
-	    // packet-domain event reporting
-	    err = at_send_command("AT+CGEREP=1,0", NULL);
+        // Set minimum QoS params to default
+        err = at_send_command("AT+CGQMIN=1", NULL);
 
-	    // Hangup anything that's happening there now
-	    err = at_send_command("AT+CGACT=1,0", NULL);
+        // packet-domain event reporting
+        err = at_send_command("AT+CGEREP=1,0", NULL);
 
-	    // Start data on PDP context 1
-	    err = at_send_command("ATD*99***1#", &p_response);
+        // Hangup anything that's happening there now
+        err = at_send_command("AT+CGACT=1,0", NULL);
 
-	    if (err < 0 || p_response->success == 0) {
-	        goto error;
-	    }
+        // Start data on PDP context 1
+        err = at_send_command("ATD*99***1#", &p_response);
+
+        if (err < 0 || p_response->success == 0) {
+            goto error;
+        }
     }
 
-    RIL_onRequestComplete(t, RIL_E_SUCCESS, response, sizeof(response));
+    requestOrSendDataCallList(&t);
+
     at_response_free(p_response);
 
     return;
@@ -1098,12 +1157,12 @@
     RIL_SIM_IO_Response sr;
     int err;
     char *cmd = NULL;
-    RIL_SIM_IO *p_args;
+    RIL_SIM_IO_v6 *p_args;
     char *line;
 
     memset(&sr, 0, sizeof(sr));
 
-    p_args = (RIL_SIM_IO *)data;
+    p_args = (RIL_SIM_IO_v6 *)data;
 
     /* FIXME handle pin2 */
 
@@ -1237,7 +1296,7 @@
 
     switch (request) {
         case RIL_REQUEST_GET_SIM_STATUS: {
-            RIL_CardStatus *p_card_status;
+            RIL_CardStatus_v6 *p_card_status;
             char *p_buffer;
             int buffer_size;
 
@@ -1347,8 +1406,8 @@
         case RIL_REQUEST_SIGNAL_STRENGTH:
             requestSignalStrength(data, datalen, t);
             break;
-        case RIL_REQUEST_REGISTRATION_STATE:
-        case RIL_REQUEST_GPRS_REGISTRATION_STATE:
+        case RIL_REQUEST_VOICE_REGISTRATION_STATE:
+        case RIL_REQUEST_DATA_REGISTRATION_STATE:
             requestRegistrationState(request, data, datalen, t);
             break;
         case RIL_REQUEST_OPERATOR:
@@ -1573,7 +1632,7 @@
 }
 
 /** Returns SIM_NOT_READY on error */
-static SIM_Status 
+static SIM_Status
 getSIMStatus()
 {
     ATResponse *p_response = NULL;
@@ -1656,7 +1715,7 @@
  * This must be freed using freeCardStatus.
  * @return: On success returns RIL_E_SUCCESS
  */
-static int getCardStatus(RIL_CardStatus **pp_card_status) {
+static int getCardStatus(RIL_CardStatus_v6 **pp_card_status) {
     static RIL_AppStatus app_status_array[] = {
         // SIM_ABSENT = 0
         { RIL_APPTYPE_UNKNOWN, RIL_APPSTATE_UNKNOWN, RIL_PERSOSUBSTATE_UNKNOWN,
@@ -1690,11 +1749,12 @@
     }
 
     // Allocate and initialize base card status.
-    RIL_CardStatus *p_card_status = malloc(sizeof(RIL_CardStatus));
+    RIL_CardStatus_v6 *p_card_status = malloc(sizeof(RIL_CardStatus_v6));
     p_card_status->card_state = card_state;
     p_card_status->universal_pin_state = RIL_PINSTATE_UNKNOWN;
     p_card_status->gsm_umts_subscription_app_index = RIL_CARD_MAX_APPS;
     p_card_status->cdma_subscription_app_index = RIL_CARD_MAX_APPS;
+    p_card_status->ims_subscription_app_index = RIL_CARD_MAX_APPS;
     p_card_status->num_applications = num_apps;
 
     // Initialize application status
@@ -1721,7 +1781,7 @@
 /**
  * Free the card status returned by getCardStatus
  */
-static void freeCardStatus(RIL_CardStatus *p_card_status) {
+static void freeCardStatus(RIL_CardStatus_v6 *p_card_status) {
     free(p_card_status);
 }
 
@@ -1934,7 +1994,7 @@
                 || strStartsWith(s,"+CGREG:")
     ) {
         RIL_onUnsolicitedResponse (
-            RIL_UNSOL_RESPONSE_NETWORK_STATE_CHANGED,
+            RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED,
             NULL, 0);
 #ifdef WORKAROUND_FAKE_CGEV
         RIL_requestTimedCallback (onDataCallListChanged, NULL, NULL);
diff --git a/reference-ril/ril.h b/reference-ril/ril.h
new file mode 120000
index 0000000..6d84329
--- /dev/null
+++ b/reference-ril/ril.h
@@ -0,0 +1 @@
+../include/telephony/ril.h
\ No newline at end of file