[gbinder-radio] Add support for RadioConfig@1.2. JB#58746

This commit is contained in:
Matti Lehtimäki
2022-09-11 18:50:43 +03:00
parent ce70fb9744
commit 0281a5ccdc
3 changed files with 33 additions and 3 deletions

View File

@@ -47,6 +47,7 @@ typedef enum radio_config_interface {
RADIO_CONFIG_INTERFACE_NONE = -1,
RADIO_CONFIG_INTERFACE_1_0,
RADIO_CONFIG_INTERFACE_1_1,
RADIO_CONFIG_INTERFACE_1_2, /* Since 1.4.13 */
RADIO_CONFIG_INTERFACE_COUNT
} RADIO_CONFIG_INTERFACE;
@@ -59,18 +60,25 @@ typedef enum radio_config_interface {
#define RADIO_CONFIG_INDICATION_IFACE "IRadioConfigIndication"
#define RADIO_CONFIG_IFACE_1_0(x) RADIO_CONFIG_IFACE_PREFIX "1.0::" x
#define RADIO_CONFIG_IFACE_1_1(x) RADIO_CONFIG_IFACE_PREFIX "1.1::" x
#define RADIO_CONFIG_IFACE_1_2(x) RADIO_CONFIG_IFACE_PREFIX "1.2::" x
#define RADIO_CONFIG_1_0 RADIO_CONFIG_IFACE_1_0(RADIO_CONFIG_IFACE)
#define RADIO_CONFIG_1_1 RADIO_CONFIG_IFACE_1_1(RADIO_CONFIG_IFACE)
#define RADIO_CONFIG_1_2 RADIO_CONFIG_IFACE_1_2(RADIO_CONFIG_IFACE)
#define RADIO_CONFIG_1_0_FQNAME RADIO_CONFIG_1_0 "/" RADIO_CONFIG_INSTANCE
#define RADIO_CONFIG_1_1_FQNAME RADIO_CONFIG_1_1 "/" RADIO_CONFIG_INSTANCE
#define RADIO_CONFIG_1_2_FQNAME RADIO_CONFIG_1_2 "/" RADIO_CONFIG_INSTANCE
#define RADIO_CONFIG_RESPONSE_1_0 \
RADIO_CONFIG_IFACE_1_0(RADIO_CONFIG_RESPONSE_IFACE)
#define RADIO_CONFIG_RESPONSE_1_1 \
RADIO_CONFIG_IFACE_1_1(RADIO_CONFIG_RESPONSE_IFACE)
#define RADIO_CONFIG_RESPONSE_1_2 \
RADIO_CONFIG_IFACE_1_2(RADIO_CONFIG_RESPONSE_IFACE)
#define RADIO_CONFIG_INDICATION_1_0 \
RADIO_CONFIG_IFACE_1_0(RADIO_CONFIG_INDICATION_IFACE)
#define RADIO_CONFIG_INDICATION_1_1 \
RADIO_CONFIG_IFACE_1_1(RADIO_CONFIG_INDICATION_IFACE)
#define RADIO_CONFIG_INDICATION_1_2 \
RADIO_CONFIG_IFACE_1_2(RADIO_CONFIG_INDICATION_IFACE)
/* Types defined in types.hal */
@@ -129,6 +137,9 @@ G_STATIC_ASSERT(sizeof(RadioModemsConfig) == 1);
#define RADIO_CONFIG_IND_1_0(i) \
i(1,simSlotsStatusChanged,SIM_SLOTS_STATUS_CHANGED)
#define RADIO_CONFIG_IND_1_2(i) \
i(2,simSlotsStatusChanged_1_2,SIM_SLOTS_STATUS_CHANGED_1_2) /* Since 1.4.13 */
typedef enum radio_config_req {
RADIO_CONFIG_REQ_ANY = 0,
RADIO_CONFIG_REQ_NONE = 0,
@@ -158,7 +169,11 @@ typedef enum radio_config_resp {
/* android.hardware.radio.config@1.1::IRadioConfigResponse */
RADIO_CONFIG_CALL_1_1(RADIO_CONFIG_RESP_)
RADIO_CONFIG_1_1_RESP_LAST = RADIO_CONFIG_RESP_GET_MODEMS_CONFIG
RADIO_CONFIG_1_1_RESP_LAST = RADIO_CONFIG_RESP_GET_MODEMS_CONFIG,
/* android.hardware.radio.config@1.2::IRadioConfigResponse */
RADIO_CONFIG_RESP_GET_SIM_SLOTS_STATUS_1_2 = 7, /* Since 1.4.13 */
RADIO_CONFIG_1_2_RESP_LAST = RADIO_CONFIG_RESP_GET_SIM_SLOTS_STATUS_1_2
#undef RADIO_CONFIG_RESP_
} RADIO_CONFIG_RESP;
G_STATIC_ASSERT(sizeof(RADIO_CONFIG_RESP) == 4);
@@ -170,7 +185,11 @@ typedef enum radio_config_ind {
/* android.hardware.radio.config@1.0::IRadioConfigIndication */
RADIO_CONFIG_IND_1_0(RADIO_CONFIG_IND_)
RADIO_CONFIG_1_0_IND_LAST = RADIO_CONFIG_IND_SIM_SLOTS_STATUS_CHANGED
RADIO_CONFIG_1_0_IND_LAST = RADIO_CONFIG_IND_SIM_SLOTS_STATUS_CHANGED,
/* android.hardware.radio.config@1.2::IRadioConfigIndication */
RADIO_CONFIG_IND_1_2(RADIO_CONFIG_IND_) /* Since 1.4.13 */
RADIO_CONFIG_1_2_IND_LAST = RADIO_CONFIG_IND_SIM_SLOTS_STATUS_CHANGED_1_2
#undef RADIO_CONFIG_IND_
} RADIO_CONFIG_IND;
G_STATIC_ASSERT(sizeof(RADIO_CONFIG_IND) == 4);

View File

@@ -114,6 +114,7 @@ static const char* radio_config_signal_observe_indication_name[] = {
static guint radio_config_signals[SIGNAL_COUNT] = { 0 };
static const GBinderClientIfaceInfo radio_config_iface_info[] = {
{RADIO_CONFIG_1_1, RADIO_CONFIG_1_1_REQ_LAST },
{RADIO_CONFIG_1_1, RADIO_CONFIG_1_1_REQ_LAST },
{RADIO_CONFIG_1_0, RADIO_CONFIG_1_0_REQ_LAST }
};
@@ -121,6 +122,7 @@ G_STATIC_ASSERT(G_N_ELEMENTS(radio_config_iface_info) ==
RADIO_CONFIG_INTERFACE_COUNT);
static const char* const radio_config_indication_ifaces[] = {
RADIO_CONFIG_INDICATION_1_2,
RADIO_CONFIG_INDICATION_1_1,
RADIO_CONFIG_INDICATION_1_0,
NULL
@@ -129,6 +131,7 @@ G_STATIC_ASSERT(G_N_ELEMENTS(radio_config_indication_ifaces) ==
RADIO_CONFIG_INTERFACE_COUNT + 1);
static const char* const radio_config_response_ifaces[] = {
RADIO_CONFIG_RESPONSE_1_2,
RADIO_CONFIG_RESPONSE_1_1,
RADIO_CONFIG_RESPONSE_1_0,
NULL
@@ -156,6 +159,7 @@ typedef struct radio_config_interface_desc {
RADIO_CONFIG_INTERFACE_INDEX(RADIO_CONFIG_INTERFACE_##v)
static const RadioConfigInterfaceDesc radio_config_interfaces[] = {
{ RADIO_CONFIG_INTERFACE_DESC(1_2) },
{ RADIO_CONFIG_INTERFACE_DESC(1_1) },
{ RADIO_CONFIG_INTERFACE_DESC(1_0) }
};
@@ -209,6 +213,7 @@ radio_config_known_req_name(
case RADIO_CONFIG_REQ_##NAME: return #Name;
RADIO_CONFIG_CALL_1_0(RADIO_CONFIG_REQ_)
RADIO_CONFIG_CALL_1_1(RADIO_CONFIG_REQ_)
/* 1.2 defines no new requests */
#undef RADIO_CONFIG_REQ_
case RADIO_CONFIG_REQ_ANY:
break;
@@ -227,6 +232,8 @@ radio_config_known_resp_name(
RADIO_CONFIG_CALL_1_0(RADIO_CONFIG_RESP_)
RADIO_CONFIG_CALL_1_1(RADIO_CONFIG_RESP_)
#undef RADIO_CONFIG_RESP_
case RADIO_CONFIG_RESP_GET_SIM_SLOTS_STATUS_1_2:
return "getSimSlotsStatusResponse_1_2";
case RADIO_CONFIG_RESP_ANY:
break;
}
@@ -243,6 +250,7 @@ radio_config_known_ind_name(
case RADIO_CONFIG_IND_##NAME: return #Name;
RADIO_CONFIG_IND_1_0(RADIO_CONFIG_IND_)
/* 1.1 defines no new indications */
RADIO_CONFIG_IND_1_2(RADIO_CONFIG_IND_)
#undef RADIO_CONFIG_IND_
case RADIO_CONFIG_IND_ANY:
break;

View File

@@ -52,11 +52,13 @@ static const GBinderClientIfaceInfo radio_config_ind_iface_info[] = {
};
static const GBinderClientIfaceInfo radio_config_resp_iface_info[] = {
{RADIO_CONFIG_RESPONSE_1_2, RADIO_CONFIG_1_2_RESP_LAST },
{RADIO_CONFIG_RESPONSE_1_1, RADIO_CONFIG_1_1_RESP_LAST },
{RADIO_CONFIG_RESPONSE_1_0, RADIO_CONFIG_1_0_RESP_LAST }
};
static const char* const radio_config_req_ifaces[] = {
RADIO_CONFIG_1_2,
RADIO_CONFIG_1_1,
RADIO_CONFIG_1_0,
NULL
@@ -64,7 +66,8 @@ static const char* const radio_config_req_ifaces[] = {
static const char* const radio_config_fqnames[] = {
RADIO_CONFIG_1_0_FQNAME,
RADIO_CONFIG_1_1_FQNAME
RADIO_CONFIG_1_1_FQNAME,
RADIO_CONFIG_1_2_FQNAME
};
static