[threadpool] Pass callback at initialization (#4546)
[mono.git] / mono / metadata / threadpool-worker.h
index b63df60c915cb58defd2111979f0442805c79ea0..9b2c51d7f65eaffadea062299bd6d96e26cefe8c 100644 (file)
@@ -1,34 +1,37 @@
+/**
+ * \file
+ */
 
 #ifndef _MONO_METADATA_THREADPOOL_WORKER_H
 #define _MONO_METADATA_THREADPOOL_WORKER_H
 
-typedef struct MonoThreadPoolWorker MonoThreadPoolWorker;
+#include <glib.h>
 
-typedef void (*MonoThreadPoolWorkerCallback)(gpointer);
+typedef void (*MonoThreadPoolWorkerCallback)(void);
 
 void
-mono_threadpool_worker_init (MonoThreadPoolWorker **worker);
+mono_threadpool_worker_init (MonoThreadPoolWorkerCallback callback);
 
 void
-mono_threadpool_worker_cleanup (MonoThreadPoolWorker *worker);
+mono_threadpool_worker_cleanup (void);
 
 void
-mono_threadpool_worker_enqueue (MonoThreadPoolWorker *worker, MonoThreadPoolWorkerCallback callback, gpointer data);
+mono_threadpool_worker_request (void);
 
 gboolean
-mono_threadpool_worker_notify_completed (MonoThreadPoolWorker *worker);
+mono_threadpool_worker_notify_completed (void);
 
 gint32
-mono_threadpool_worker_get_min (MonoThreadPoolWorker *worker);
+mono_threadpool_worker_get_min (void);
 gboolean
-mono_threadpool_worker_set_min (MonoThreadPoolWorker *worker, gint32 value);
+mono_threadpool_worker_set_min (gint32 value);
 
 gint32
-mono_threadpool_worker_get_max (MonoThreadPoolWorker *worker);
+mono_threadpool_worker_get_max (void);
 gboolean
-mono_threadpool_worker_set_max (MonoThreadPoolWorker *worker, gint32 value);
+mono_threadpool_worker_set_max (gint32 value);
 
 void
-mono_threadpool_worker_set_suspended (MonoThreadPoolWorker *worker, gboolean suspended);
+mono_threadpool_worker_set_suspended (gboolean suspended);
 
 #endif /* _MONO_METADATA_THREADPOOL_WORKER_H */