mirror of git://git.sysmocom.de/ofono
gisi: Add client API to reset instance
Calling this method will cancel any pending requests, and unsubscribe from any pending subscriptions.
This commit is contained in:
parent
edd0b327e0
commit
188bbc5d3b
|
@ -127,13 +127,25 @@ static void foreach_destroy(gpointer value, gpointer user)
|
|||
g_isi_pending_remove(op);
|
||||
}
|
||||
|
||||
void g_isi_client_destroy(GIsiClient *client)
|
||||
void g_isi_client_reset(GIsiClient *client)
|
||||
{
|
||||
if (client == NULL)
|
||||
return;
|
||||
|
||||
if (!client->pending)
|
||||
return;
|
||||
|
||||
g_slist_foreach(client->pending, foreach_destroy, client);
|
||||
g_slist_free(client->pending);
|
||||
client->pending = NULL;
|
||||
};
|
||||
|
||||
void g_isi_client_destroy(GIsiClient *client)
|
||||
{
|
||||
if (!client)
|
||||
return;
|
||||
|
||||
g_isi_client_reset(client);
|
||||
g_free(client);
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ typedef struct _GIsiClient GIsiClient;
|
|||
GIsiClient *g_isi_client_create(GIsiModem *modem, uint8_t resource);
|
||||
GIsiModem *g_isi_client_modem(GIsiClient *client);
|
||||
uint8_t g_isi_client_resource(GIsiClient *client);
|
||||
void g_isi_client_reset(GIsiClient *client);
|
||||
void g_isi_client_destroy(GIsiClient *client);
|
||||
|
||||
GIsiPending *g_isi_client_send(GIsiClient *client, const void *__restrict msg,
|
||||
|
|
Loading…
Reference in New Issue