client: request card-remove and sim-local when no bankd/slot is set
When the client leaves the OPERATIONAL state, do the inverse of what
happens when entering that state:
* request "card insert" no longer to be generated towards modem
* request switch back to local SIM
* reset the modem to notice the change
This way entering remote-sim operation due to adding a slotmap
and leaving remote-sim due to removing the slotmap should be
symmetrical.
Change-Id: Ifaa4b60474bf8585bfbe0288062f581821bd3faa
Closes: OS#5216
diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c
index fa6c319..8d8a6c9 100644
--- a/src/client/user_simtrace2.c
+++ b/src/client/user_simtrace2.c
@@ -322,12 +322,24 @@
return osmo_st2_cardem_request_card_insert(ci, true);
}
+int frontend_request_card_remove(struct bankd_client *bc)
+{
+ struct osmo_st2_cardem_inst *ci = bc->cardem;
+ return osmo_st2_cardem_request_card_insert(ci, false);
+}
+
int frontend_request_sim_remote(struct bankd_client *bc)
{
struct osmo_st2_cardem_inst *ci = bc->cardem;
return osmo_st2_modem_sim_select_remote(ci->slot);
}
+int frontend_request_sim_local(struct bankd_client *bc)
+{
+ struct osmo_st2_cardem_inst *ci = bc->cardem;
+ return osmo_st2_modem_sim_select_local(ci->slot);
+}
+
int frontend_request_modem_reset(struct bankd_client *bc)
{
struct osmo_st2_cardem_inst *ci = bc->cardem;