Bluetooth: tester: Add Core Unregister Service command

This adds stubs for Core Unregister Service command implementation.
It will be used to clean up the stack and tester after test case
execution.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This commit is contained in:
Mariusz Skamra 2017-12-19 09:53:37 +01:00 committed by Johan Hedberg
parent 16fbf25ceb
commit 3e8a5bc72f
6 changed files with 64 additions and 0 deletions

View File

@ -46,6 +46,7 @@ static void supported_commands(u8_t *data, u16_t len)
tester_set_bit(buf, CORE_READ_SUPPORTED_COMMANDS);
tester_set_bit(buf, CORE_READ_SUPPORTED_SERVICES);
tester_set_bit(buf, CORE_REGISTER_SERVICE);
tester_set_bit(buf, CORE_UNREGISTER_SERVICE);
tester_send(BTP_SERVICE_ID_CORE, CORE_READ_SUPPORTED_COMMANDS,
BTP_INDEX_NONE, (u8_t *) rp, sizeof(buf));
@ -108,6 +109,37 @@ rsp:
status);
}
static void unregister_service(u8_t *data, u16_t len)
{
struct core_unregister_service_cmd *cmd = (void *) data;
u8_t status;
switch (cmd->id) {
case BTP_SERVICE_ID_GAP:
status = tester_unregister_gap();
break;
case BTP_SERVICE_ID_GATT:
status = tester_unregister_gatt();
break;
#if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL)
case BTP_SERVICE_ID_L2CAP:
status = tester_unregister_l2cap();
break;
#endif /* CONFIG_BT_L2CAP_DYNAMIC_CHANNEL */
#if defined(CONFIG_BT_MESH)
case BTP_SERVICE_ID_MESH:
status = tester_unregister_mesh();
break;
#endif /* CONFIG_BT_MESH */
default:
status = BTP_STATUS_FAILED;
break;
}
tester_rsp(BTP_SERVICE_ID_CORE, CORE_UNREGISTER_SERVICE, BTP_INDEX_NONE,
status);
}
static void handle_core(u8_t opcode, u8_t index, u8_t *data,
u16_t len)
{
@ -126,6 +158,9 @@ static void handle_core(u8_t opcode, u8_t index, u8_t *data,
case CORE_REGISTER_SERVICE:
register_service(data, len);
return;
case CORE_UNREGISTER_SERVICE:
unregister_service(data, len);
return;
default:
tester_rsp(BTP_SERVICE_ID_CORE, opcode, BTP_INDEX_NONE,
BTP_STATUS_UNKNOWN_CMD);

View File

@ -57,6 +57,11 @@ struct core_register_service_cmd {
u8_t id;
} __packed;
#define CORE_UNREGISTER_SERVICE 0x04
struct core_unregister_service_cmd {
u8_t id;
} __packed;
/* events */
#define CORE_EV_IUT_READY 0x80
@ -791,19 +796,23 @@ void tester_send(u8_t service, u8_t opcode, u8_t index, u8_t *data,
size_t len);
u8_t tester_init_gap(void);
u8_t tester_unregister_gap(void);
void tester_handle_gap(u8_t opcode, u8_t index, u8_t *data,
u16_t len);
u8_t tester_init_gatt(void);
u8_t tester_unregister_gatt(void);
void tester_handle_gatt(u8_t opcode, u8_t index, u8_t *data,
u16_t len);
#if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL)
u8_t tester_init_l2cap(void);
u8_t tester_unregister_l2cap(void);
void tester_handle_l2cap(u8_t opcode, u8_t index, u8_t *data,
u16_t len);
#endif /* CONFIG_BT_L2CAP_DYNAMIC_CHANNEL */
#if defined(CONFIG_BT_MESH)
u8_t tester_init_mesh(void);
u8_t tester_unregister_mesh(void);
void tester_handle_mesh(u8_t opcode, u8_t index, u8_t *data, u16_t len);
#endif /* CONFIG_BT_MESH */

View File

@ -742,3 +742,8 @@ u8_t tester_init_gap(void)
return BTP_STATUS_SUCCESS;
}
u8_t tester_unregister_gap(void)
{
return BTP_STATUS_SUCCESS;
}

View File

@ -1940,3 +1940,8 @@ u8_t tester_init_gatt(void)
return BTP_STATUS_SUCCESS;
}
u8_t tester_unregister_gatt(void)
{
return BTP_STATUS_SUCCESS;
}

View File

@ -350,3 +350,8 @@ u8_t tester_init_l2cap(void)
{
return BTP_STATUS_SUCCESS;
}
u8_t tester_unregister_l2cap(void)
{
return BTP_STATUS_SUCCESS;
}

View File

@ -695,3 +695,8 @@ u8_t tester_init_mesh(void)
return BTP_STATUS_SUCCESS;
}
u8_t tester_unregister_mesh(void)
{
return BTP_STATUS_SUCCESS;
}