aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-op-queue.h
diff options
context:
space:
mode:
authorbertrand <Bertrand.Guiheneuf@aful.org>1999-09-18 07:40:06 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>1999-09-18 07:40:06 +0800
commit445b09502f6aabb6359c18acb188e92e97da31f7 (patch)
tree47ead377e2f198570cd4819f3052a1d78d1ffc9a /camel/camel-op-queue.h
parentacd6bafa58cf5fdea4814e51aac175a99894a373 (diff)
downloadgsoc2013-evolution-445b09502f6aabb6359c18acb188e92e97da31f7.tar.gz
gsoc2013-evolution-445b09502f6aabb6359c18acb188e92e97da31f7.tar.zst
gsoc2013-evolution-445b09502f6aabb6359c18acb188e92e97da31f7.zip
new func. Try to exec an operation in a thread or queue it if a thread is
1999-09-18 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-folder-pt-proxy.c (_op_exec_or_plan_for_exec): new func. Try to exec an operation in a thread or queue it if a thread is already busy. * camel/camel-op-queue.c (camel_op_queue_set_service_availability): (camel_op_queue_get_service_availability): new funcs. * camel/camel-op-queue.c (camel_op_new): (camel_op_free): new funcs. Uses glib mem chunks. svn path=/trunk/; revision=1237
Diffstat (limited to 'camel/camel-op-queue.h')
-rw-r--r--camel/camel-op-queue.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/camel/camel-op-queue.h b/camel/camel-op-queue.h
index e99d785b93..672413d562 100644
--- a/camel/camel-op-queue.h
+++ b/camel/camel-op-queue.h
@@ -34,7 +34,7 @@ extern "C" {
typedef void (CamelOpFunc)(gpointer param);
typedef struct {
- CamelOpFunc *op_func;
+ CamelOpFunc *func;
gpointer param;
} CamelOp;
@@ -44,7 +44,8 @@ typedef struct
{
GList *ops_head;
GList *ops_tail;
- gint pending_ops;
+ gboolean service_available;
+
} CamelOpQueue;
@@ -53,6 +54,12 @@ CamelOpQueue *camel_op_queue_new ();
void camel_op_queue_push_op (CamelOpQueue *queue, CamelOp *op);
CamelOp *camel_op_queue_pop_op (CamelOpQueue *queue);
gboolean camel_op_queue_run_next_op (CamelOpQueue *queue);
+gboolean camel_op_queue_get_service_availability (CamelOpQueue *queue);
+CamelOp *camel_op_new ();
+
+CamelOp *camel_op_new ();
+void camel_op_free (CamelOp *op);
+
#ifdef __cplusplus
}