]> git.ipfire.org Git - pakfire.git/commitdiff
client: Call an init function whenever the event loop starts
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 25 Jun 2025 09:32:00 +0000 (09:32 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 25 Jun 2025 09:32:00 +0000 (09:32 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/client.c

index 5c2b09f3136f353412af9f3213faf282c9889e06..172c8e54d8473a97286ab970eabebb48ea76ad9b 100644 (file)
@@ -220,6 +220,16 @@ static int pakfire_client_xfer_auth(struct pakfire_client* self, struct pakfire_
        return 0;
 }
 
+static int pakfire_client_init(sd_event_source* event, void* data) {
+       struct pakfire_client* self = data;
+
+       DEBUG(self->ctx, "Initializing client...\n");
+
+       // XXX TODO
+
+       return 0;
+}
+
 static void pakfire_client_free(struct pakfire_client* self) {
        if (self->auth.timer)
                sd_event_source_unref(self->auth.timer);
@@ -286,6 +296,11 @@ int pakfire_client_create(struct pakfire_client** client,
        DEBUG(self->ctx, "Pakfire Build Service initialized for %s\n",
                pakfire_client_get_url(self));
 
+       // Schedule to run the init function as soon as the event loop has started
+       r = sd_event_add_defer(self->loop, NULL, pakfire_client_init, self);
+       if (r < 0)
+               goto ERROR;
+
        // Return the pointer
        *client = self;