mirror of git://git.sysmocom.de/ofono
stkutil: Add Select Item response builder
This commit is contained in:
parent
0366159a66
commit
429d03c965
|
@ -3038,6 +3038,21 @@ static inline gboolean stk_tlv_append_bytes(struct stk_tlv_builder *iter,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Described in TS 102.223 Section 8.6 */
|
||||||
|
static gboolean build_dataobj_item_id(struct stk_tlv_builder *tlv,
|
||||||
|
const void *data, gboolean cr)
|
||||||
|
{
|
||||||
|
const unsigned char *item_id = data;
|
||||||
|
|
||||||
|
if (*item_id == 0)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
return stk_tlv_open_container(tlv, cr,
|
||||||
|
STK_DATA_OBJECT_TYPE_ITEM_ID, FALSE) &&
|
||||||
|
stk_tlv_append_byte(tlv, *item_id) &&
|
||||||
|
stk_tlv_close_container(tlv);
|
||||||
|
}
|
||||||
|
|
||||||
/* Described in TS 102.223 Section 8.8 */
|
/* Described in TS 102.223 Section 8.8 */
|
||||||
static gboolean build_dataobj_duration(struct stk_tlv_builder *tlv,
|
static gboolean build_dataobj_duration(struct stk_tlv_builder *tlv,
|
||||||
const void *data, gboolean cr)
|
const void *data, gboolean cr)
|
||||||
|
@ -3220,6 +3235,12 @@ unsigned int stk_pdu_from_response(const struct stk_response *response,
|
||||||
case STK_COMMAND_TYPE_REFRESH:
|
case STK_COMMAND_TYPE_REFRESH:
|
||||||
case STK_COMMAND_TYPE_SETUP_MENU:
|
case STK_COMMAND_TYPE_SETUP_MENU:
|
||||||
break;
|
break;
|
||||||
|
case STK_COMMAND_TYPE_SELECT_ITEM:
|
||||||
|
ok = build_dataobj(&builder,
|
||||||
|
build_dataobj_item_id, DATAOBJ_FLAG_CR,
|
||||||
|
&response->select_item.item_id,
|
||||||
|
NULL);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1018,6 +1018,10 @@ struct stk_response_poll_interval {
|
||||||
struct stk_duration max_interval;
|
struct stk_duration max_interval;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct stk_response_select_item {
|
||||||
|
unsigned char item_id;
|
||||||
|
};
|
||||||
|
|
||||||
struct stk_response {
|
struct stk_response {
|
||||||
unsigned char number;
|
unsigned char number;
|
||||||
unsigned char type;
|
unsigned char type;
|
||||||
|
@ -1034,6 +1038,7 @@ struct stk_response {
|
||||||
struct stk_response_poll_interval poll_interval;
|
struct stk_response_poll_interval poll_interval;
|
||||||
struct stk_response_generic refresh;
|
struct stk_response_generic refresh;
|
||||||
struct stk_response_generic set_up_menu;
|
struct stk_response_generic set_up_menu;
|
||||||
|
struct stk_response_select_item select_item;
|
||||||
struct stk_response_generic send_sms;
|
struct stk_response_generic send_sms;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue