// Initialize the reference counter
self->nrefs = 1;
- // Store a reference to the event loop
- self->loop = sd_event_ref(loop);
-
// Create a new HTTP client
- r = pakfire_httpclient_create(&self->httpclient, self->ctx, self->loop);
+ r = pakfire_httpclient_create(&self->httpclient, self->ctx, loop);
if (r < 0)
goto ERROR;
+ // Store a reference to the event loop
+ self->loop = pakfire_httpclient_get_loop(self->httpclient);
+
// Store the URL
r = pakfire_string_set(self->url, url);
if (r < 0)
return NULL;
}
+sd_event* pakfire_httpclient_get_loop(struct pakfire_httpclient* self) {
+ return sd_event_ref(self->loop);
+}
+
int pakfire_httpclient_enqueue(struct pakfire_httpclient* self, struct pakfire_xfer* xfer) {
struct pakfire_httpclient_xfer* e = NULL;
int r;
struct pakfire_httpclient* pakfire_httpclient_ref(struct pakfire_httpclient* self);
struct pakfire_httpclient* pakfire_httpclient_unref(struct pakfire_httpclient* self);
+sd_event* pakfire_httpclient_get_loop(struct pakfire_httpclient* self);
+
int pakfire_httpclient_enqueue(struct pakfire_httpclient* self, struct pakfire_xfer* xfer);
int pakfire_httpclient_dequeue(struct pakfire_httpclient* self, struct pakfire_xfer* xfer);