From: Michal Sojka Date: Tue, 26 May 2009 14:57:14 +0000 (+0200) Subject: Added register callback for protocols X-Git-Url: https://rtime.felk.cvut.cz/gitweb/frescor/forb.git/commitdiff_plain/b0e12e33963a732b7cffecebbcbef6975d692d77 Added register callback for protocols --- 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);