summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Jinghua <sunmoon1997@gmail.com>2009-11-02 08:31:47 +0800
committerLuo Jinghua <sunmoon1997@gmail.com>2009-11-02 08:31:47 +0800
commit3a302647569ab477fc816599028ad3c8631f89dc (patch)
tree1b8ff1650dbd5127df0173dd635775d70898f4ad
parent7a235d2e4b2a68d304de5af2b90610c4d4cc179e (diff)
milkway: move/rename mw-timeout-source::timeout to mw-source::action
-rw-r--r--milkway/mw-source.c13
-rw-r--r--milkway/mw-source.h1
-rw-r--r--milkway/mw-timeout-source.c14
-rw-r--r--milkway/mw-timeout-source.h3
-rw-r--r--milkway/test/main-loop-test.c4
5 files changed, 15 insertions, 20 deletions
diff --git a/milkway/mw-source.c b/milkway/mw-source.c
index 9f6f287..42e4191 100644
--- a/milkway/mw-source.c
+++ b/milkway/mw-source.c
@@ -22,6 +22,17 @@
#include "milkway/mw-main-context.h"
#include "milkway/mw-main-context-private.h"
+static mw_bool_t
+source_dispatch_cb(mw_source_t *self,
+ mw_pointer_t user_data)
+{
+ mw_source_type_t *type = (mw_source_type_t*)MW_TYPE(self);
+
+ if (!type->action)
+ return MW_FALSE;
+ return type->action(self);
+}
+
mw_source_t*
mw_source_init(mw_source_t *self)
{
@@ -35,7 +46,7 @@ mw_source_init(mw_source_t *self)
self->next = NULL;
self->fds = NULL;
self->context = NULL;
- self->func = NULL;
+ self->func = source_dispatch_cb;
self->user_data = NULL;
self->destroy_func = NULL;
return self;
diff --git a/milkway/mw-source.h b/milkway/mw-source.h
index 789c089..fbadaef 100644
--- a/milkway/mw-source.h
+++ b/milkway/mw-source.h
@@ -35,6 +35,7 @@ struct mw_source_type {
int *timeout_);
mw_bool_t (*check) (mw_source_t *self);
mw_bool_t (*dispatch) (mw_source_t *self);
+ mw_bool_t (*action) (mw_source_t *self);
};
typedef enum {
diff --git a/milkway/mw-timeout-source.c b/milkway/mw-timeout-source.c
index 1489204..bfa0738 100644
--- a/milkway/mw-timeout-source.c
+++ b/milkway/mw-timeout-source.c
@@ -91,17 +91,6 @@ mw_timeout_set_expiration (mw_timeout_source_t *self,
}
}
-static mw_bool_t
-source_dispatch_cb(mw_source_t *self,
- mw_pointer_t user_data)
-{
- mw_timeout_source_type_t *type = (mw_timeout_source_type_t*)MW_TYPE(self);
-
- if (!type->timeout)
- return MW_FALSE;
- return type->timeout((mw_timeout_source_t*)self);
-}
-
mw_timeout_source_t*
mw_timeout_source_init(mw_timeout_source_t *self,
int interval,
@@ -115,9 +104,6 @@ mw_timeout_source_init(mw_timeout_source_t *self,
self->interval = interval;
self->granularity = granularity;
- mw_source_set_callback(&self->base, source_dispatch_cb,
- NULL, NULL);
-
mw_timeval_clear(&self->expiration);
mw_get_system_time(&current_time);
diff --git a/milkway/mw-timeout-source.h b/milkway/mw-timeout-source.h
index f68486e..e6f1819 100644
--- a/milkway/mw-timeout-source.h
+++ b/milkway/mw-timeout-source.h
@@ -29,9 +29,6 @@ typedef struct _mw_timeout_source mw_timeout_source_t;
struct _mw_timeout_source_type {
mw_source_type_t base;
-
- mw_bool_t
- (*timeout) (mw_timeout_source_t *self);
};
struct _mw_timeout_source {
diff --git a/milkway/test/main-loop-test.c b/milkway/test/main-loop-test.c
index 94df786..e50b078 100644
--- a/milkway/test/main-loop-test.c
+++ b/milkway/test/main-loop-test.c
@@ -80,7 +80,7 @@ test_a_new(mw_main_loop_t *loop)
}
static mw_bool_t
-test_a_timeout(mw_timeout_source_t *super)
+test_a_timeout(mw_source_t *super)
{
test_a_t *self = (test_a_t*)super;
@@ -106,7 +106,7 @@ static void
test_a_type_init(test_a_type_t *type)
{
type->base.base.base.finalize = test_a_finalize;
- type->base.timeout = test_a_timeout;
+ type->base.base.action = test_a_timeout;
}
static MW_DEFINE_GET_TYPE(test_a, test_a_type_t,