From: Michael Tremer Date: Wed, 25 Jun 2025 09:23:24 +0000 (+0000) Subject: client: Add a ready callback X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=83badaf7ba501b5eb9fffcf5e8e1f9b9a19bf221;p=pakfire.git client: Add a ready callback Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/client.c b/src/pakfire/client.c index 5fe8553b..5c2b09f3 100644 --- a/src/pakfire/client.c +++ b/src/pakfire/client.c @@ -80,6 +80,13 @@ struct pakfire_client { // URL char url[PATH_MAX]; + // Ready + struct pakfire_client_ready { + // Callback + pakfire_client_ready_callback callback; + void* data; + } ready; + // Authentication struct pakfire_client_auth { // Tokens @@ -309,6 +316,12 @@ const char* pakfire_client_get_url(struct pakfire_client* self) { // Run +void pakfire_client_set_ready_callback(struct pakfire_client* self, + pakfire_client_ready_callback callback, void* data) { + self->ready.callback = callback; + self->ready.data = data; +} + int pakfire_client_run(struct pakfire_client* self) { return pakfire_httpclient_run(self->httpclient, NULL); } diff --git a/src/pakfire/client.h b/src/pakfire/client.h index c35d9f28..b7b9b11e 100644 --- a/src/pakfire/client.h +++ b/src/pakfire/client.h @@ -38,6 +38,11 @@ const char* pakfire_client_get_url(struct pakfire_client* client); // Run! +typedef int (*pakfire_client_ready_callback)(struct pakfire_client* client, void* data); + +void pakfire_client_set_ready_callback(struct pakfire_client* self, + pakfire_client_ready_callback callback, void* data); + int pakfire_client_run(struct pakfire_client* self); // Authentication