]> rtime.felk.cvut.cz Git - frescor/forb.git/commitdiff
Added register callback for protocols
authorMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 26 May 2009 14:57:14 +0000 (16:57 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 26 May 2009 15:38:18 +0000 (17:38 +0200)
src/port.c
src/proto.h

index da063dff96f515768e7558ae23c57a00c5d71d3c..f38eb87493f1f345df777da120e15512b053c7a3 100644 (file)
@@ -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)
index 76aeaf55ab0979e047b29d53b3660731b28ef392..140e0c7145377ae759187e6febf7dc61c3df75c3 100644 (file)
@@ -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);