X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fjobs.h;h=44304ede17ae7c1a4ba388904e3d07c23820d4a0;hb=0ea0734fa3f304af325b4a0429bb0cfaabeeed96;hp=49f45dd5442ebff9013e3a8496841a887c2a9000;hpb=b48b736097a222fdf8c6f1a33c922ee7d7bcd633;p=src%2Fapp-framework-binder.git diff --git a/src/jobs.h b/src/jobs.h index 49f45dd5..44304ede 100644 --- a/src/jobs.h +++ b/src/jobs.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017 "IoT.bzh" + * Copyright (C) 2016-2019 "IoT.bzh" * Author José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,17 +17,28 @@ #pragma once -struct sd_event; struct jobloop; extern int jobs_queue( - void *group, + const void *group, + int timeout, + void (*callback)(int signum, void* arg), + void *arg); + +extern int jobs_queue_lazy( + const void *group, + int timeout, + void (*callback)(int signum, void* arg), + void *arg); + +extern int jobs_queue_urgent( + const void *group, int timeout, void (*callback)(int signum, void* arg), void *arg); extern int jobs_enter( - void *group, + const void *group, int timeout, void (*callback)(int signum, void *closure, struct jobloop *jobloop), void *closure); @@ -35,14 +46,18 @@ extern int jobs_enter( extern int jobs_leave(struct jobloop *jobloop); extern int jobs_call( - void *group, + const void *group, int timeout, void (*callback)(int, void*), void *arg); -extern struct sd_event *jobs_get_sd_event(); - -extern void jobs_terminate(); +extern int jobs_start( + int allowed_count, + int start_count, + int waiter_count, + void (*start)(int signum, void* arg), + void *arg); -extern int jobs_start(int allowed_count, int start_count, int waiter_count, void (*start)()); +extern void jobs_acquire_event_manager(); +extern void jobs_exit(void (*handler)());