X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fjobs.h;h=58adc1c7cf065ed3c03641032945db08fb82af12;hb=6b0b9047228c0da38458217c28190ff0c28e73a9;hp=95565b860ea92ea4cce842b71d58bf8a5d727447;hpb=48827b7b9862ab5961f938f38a8667e15421a50c;p=src%2Fapp-framework-binder.git diff --git a/src/jobs.h b/src/jobs.h index 95565b86..58adc1c7 100644 --- a/src/jobs.h +++ b/src/jobs.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017 "IoT.bzh" + * Copyright (C) 2016, 2017, 2018 "IoT.bzh" * Author José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,31 +17,41 @@ #pragma once +struct jobloop; + extern int jobs_queue( - void *group, + const void *group, int timeout, void (*callback)(int signum, void* arg), void *arg); -extern int jobs_queue2( - void *group, +extern int jobs_enter( + const void *group, int timeout, - void (*callback)(int signum, void* arg1, void *arg2), - void *arg1, - void *arg2); + void (*callback)(int signum, void *closure, struct jobloop *jobloop), + void *closure); -extern int jobs_queue3( - void *group, - int timeout, - void (*callback)(int signum, void* arg1, void *arg2, void *arg3), - void *arg1, - void *arg2, - void *arg3); +extern int jobs_leave(struct jobloop *jobloop); -extern int jobs_add_event_loop(void *key, int timeout, void (*evloop)(int, void*), void *closure); +extern int jobs_call( + const void *group, + int timeout, + void (*callback)(int, void*), + void *arg); -extern int jobs_init(int allowed_count, int start_count, int waiter_count); -extern int jobs_add_me(); -extern void jobs_terminate(int wait); +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); +#if !defined(REMOVE_SYSTEMD_EVENT) +struct sd_event; +extern struct sd_event *jobs_get_sd_event(); +#else +struct fdev_epoll; +extern struct fdev_epoll *jobs_get_fdev_epoll(); +#endif