Calling this method will cancel any pending requests, and unsubscribe
from any pending subscriptions.
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);
}
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,