From b0e12e33963a732b7cffecebbcbef6975d692d77 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Tue, 26 May 2009 16:57:14 +0200 Subject: [PATCH] Added register callback for protocols --- src/port.c | 5 +++++ src/proto.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/port.c b/src/port.c index da063df..f38eb87 100644 --- a/src/port.c +++ b/src/port.c @@ -99,6 +99,11 @@ int forb_register_port(forb_orb orb, forb_port_t *port) ret = FOSA_ENOMEM; goto err; } + + if (port->desc.proto->register_cb) { + port->desc.proto->register_cb(port); + } + ret = fosa_thread_create(&port->receiver_thread, NULL, forb_iop_receiver_thread, port); if (ret != 0) diff --git a/src/proto.h b/src/proto.h index 76aeaf5..140e0c7 100644 --- a/src/proto.h +++ b/src/proto.h @@ -145,6 +145,12 @@ struct forb_proto { /** Converts protocol specific address to string */ size_t (*addr2str)(char *dest, size_t maxlen, const void *addr); + + /** + * Callback caled when the port is registered to FORB just + * before reception and discovery threads are started. + */ + void (*register_cb)(forb_port_t *port); }; size_t forb_proto_send(forb_peer_t *peer, FORB_CDR_Codec *codec); -- 2.39.2