diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2010-06-13 20:59:49 +0300 |
---|---|---|
committer | Felipe Contreras <felipe.contreras@gmail.com> | 2010-06-14 03:13:33 +0300 |
commit | 19ee247852f343d5d1988cfc35420af48be82eff (patch) | |
tree | 539838d3120973c0303f11e874de904c5e50c643 | |
parent | db88bb4291d6beb13fc8bbafc983e55be62d5548 (diff) |
node: add "open" signal
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
-rw-r--r-- | pn_node.c | 9 | ||||
-rw-r--r-- | pn_node.h | 2 |
2 files changed, 11 insertions, 0 deletions
@@ -63,6 +63,10 @@ connect_cb(GObject *source, if (socket_conn) { priv->status = PN_NODE_STATUS_OPEN; priv->socket_conn = socket_conn; + + struct pn_node_class *class; + class = g_type_class_peek(PN_NODE_TYPE); + g_signal_emit(G_OBJECT(node), class->open_sig, 0, node); } else { pn_node_close(node); @@ -137,6 +141,11 @@ class_init(void *g_class, parent_class = g_type_class_peek_parent(g_class); g_type_class_add_private(g_class, sizeof(struct pn_node_priv)); + + node_class->open_sig = g_signal_new("open", G_TYPE_FROM_CLASS(gobject_class), + G_SIGNAL_RUN_FIRST, 0, NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); } static void @@ -16,6 +16,8 @@ struct pn_node_class { void (*connect) (struct pn_node *node, const char *hostname, int port); void (*close) (struct pn_node *node); + + guint open_sig; }; #define PN_NODE_TYPE (pn_node_get_type()) |