diff options
Diffstat (limited to 'src/glibext/delayed.h')
-rw-r--r-- | src/glibext/delayed.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/glibext/delayed.h b/src/glibext/delayed.h index 03aa873..0a27c93 100644 --- a/src/glibext/delayed.h +++ b/src/glibext/delayed.h @@ -74,6 +74,13 @@ typedef struct _GWorkQueue GWorkQueue; typedef struct _GWorkQueueClass GWorkQueueClass; +/* Identifiant unique pour groupe de travail */ +typedef unsigned long long wgroup_id_t; + +/* Groupe d'exécution par défaut */ +#define DEFAULT_WORK_GROUP 0 + + #define get_work_queue() _get_work_queue(NULL) @@ -86,8 +93,17 @@ bool init_work_queue(GObject *); /* Fournit le gestionnaire de traitements parallèles courant. */ GWorkQueue *_get_work_queue(GWorkQueue *); +/* Constitue un nouveau groupe de travail. */ +wgroup_id_t g_work_queue_define_work_group(GWorkQueue *); + +/* Dissout un groupe de travail existant. */ +void g_work_queue_delete_work_group(GWorkQueue *, wgroup_id_t); + /* Place une nouvelle tâche en attente. */ -void g_work_queue_schedule_work(GWorkQueue *, GDelayedWork *); +void g_work_queue_schedule_work(GWorkQueue *, GDelayedWork *, wgroup_id_t); + +/* Attend que toutes les tâches d'un groupe soient traitées. */ +void g_work_queue_wait_for_completion(GWorkQueue *, wgroup_id_t); |