summaryrefslogtreecommitdiff
path: root/src/libmowgli/object/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmowgli/object/message.c')
-rw-r--r--src/libmowgli/object/message.c68
1 files changed, 28 insertions, 40 deletions
diff --git a/src/libmowgli/object/message.c b/src/libmowgli/object/message.c
index e4328c8..d99f53b 100644
--- a/src/libmowgli/object/message.c
+++ b/src/libmowgli/object/message.c
@@ -23,71 +23,61 @@
#include "mowgli.h"
-void mowgli_object_class_message_handler_attach(mowgli_object_class_t *klass, mowgli_object_message_handler_t *sig)
+void
+mowgli_object_class_message_handler_attach(mowgli_object_class_t *klass, mowgli_object_message_handler_t *sig)
{
- if (klass == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_object_class_exception);
-
- if (sig == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_signal_exception);
+ return_if_fail(klass != NULL);
+ return_if_fail(sig != NULL);
mowgli_node_add(sig, mowgli_node_create(), &klass->message_handlers);
}
-void mowgli_object_class_message_handler_detach(mowgli_object_class_t *klass, mowgli_object_message_handler_t *sig)
+void
+mowgli_object_class_message_handler_detach(mowgli_object_class_t *klass, mowgli_object_message_handler_t *sig)
{
- mowgli_node_t *n;
+ return_if_fail(klass != NULL);
+ return_if_fail(sig != NULL);
- if (klass == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_object_class_exception);
-
- if (sig == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_signal_exception);
+ mowgli_node_t *n;
n = mowgli_node_find(sig, &klass->message_handlers);
mowgli_node_delete(n, &klass->message_handlers);
mowgli_node_free(n);
}
-void mowgli_object_message_handler_attach(mowgli_object_t *self, mowgli_object_message_handler_t *sig)
+void
+mowgli_object_message_handler_attach(mowgli_object_t *self, mowgli_object_message_handler_t *sig)
{
- if (self == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_object_exception);
-
- if (sig == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_signal_exception);
+ return_if_fail(self != NULL);
+ return_if_fail(sig != NULL);
mowgli_node_add(sig, mowgli_node_create(), &self->message_handlers);
}
-void mowgli_object_message_handler_detach(mowgli_object_t *self, mowgli_object_message_handler_t *sig)
+void
+mowgli_object_message_handler_detach(mowgli_object_t *self, mowgli_object_message_handler_t *sig)
{
- mowgli_node_t *n;
+ return_if_fail(self != NULL);
+ return_if_fail(sig != NULL);
- if (self == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_object_exception);
-
- if (sig == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_signal_exception);
+ mowgli_node_t *n;
n = mowgli_node_find(sig, &self->message_handlers);
mowgli_node_delete(n, &self->message_handlers);
mowgli_node_free(n);
}
-void mowgli_object_message_broadcast(mowgli_object_t *self, const char *name, ...)
+void
+mowgli_object_message_broadcast(mowgli_object_t *self, const char *name, ...)
{
+ return_if_fail(self != NULL);
+ return_if_fail(name != NULL);
+
mowgli_argstack_t *stack;
mowgli_object_message_handler_t *sig = NULL;
mowgli_node_t *n;
va_list va;
- if (self == NULL)
- mowgli_throw_exception(mowgli.object_messaging.invalid_object_exception);
-
- if (name == NULL)
- mowgli_throw_exception(mowgli.null_pointer_exception);
-
/* try to find a signal to compile the argument stack from, we start with self::klass first. */
MOWGLI_LIST_FOREACH(n, self->klass->message_handlers.head)
{
@@ -101,7 +91,6 @@ void mowgli_object_message_broadcast(mowgli_object_t *self, const char *name, ..
}
if (sig == NULL)
- {
MOWGLI_LIST_FOREACH(n, self->klass->message_handlers.head)
{
mowgli_object_message_handler_t *sig2 = (mowgli_object_message_handler_t *) n->data;
@@ -112,11 +101,10 @@ void mowgli_object_message_broadcast(mowgli_object_t *self, const char *name, ..
break;
}
}
- }
- /* return if no signals found, else compile the argstack */
- if (sig == NULL)
- return;
+ /* return if no signals found, else compile the argstack */
+ if (sig == NULL)
+ return;
va_start(va, name);
stack = mowgli_argstack_create_from_va_list(sig->descstr, va);
@@ -126,7 +114,7 @@ void mowgli_object_message_broadcast(mowgli_object_t *self, const char *name, ..
{
sig = (mowgli_object_message_handler_t *) n->data;
- if (!strcasecmp(sig->name, name) && sig->handler != NULL)
+ if (!strcasecmp(sig->name, name) && (sig->handler != NULL))
sig->handler(self, sig, stack);
}
@@ -134,7 +122,7 @@ void mowgli_object_message_broadcast(mowgli_object_t *self, const char *name, ..
{
sig = (mowgli_object_message_handler_t *) n->data;
- if (!strcasecmp(sig->name, name) && sig->handler != NULL)
+ if (!strcasecmp(sig->name, name) && (sig->handler != NULL))
sig->handler(self, sig, stack);
}