Alljoyn 14.06 x86
I wrote a Alljoyn producer A which implements an interface that contains a signal member. When I start up my consumer app, it will enumerate all the bus objects, introspect them and add signal handle for every alljoyn event.
The problem I have is that when I start multiple producer A, then start consumer, when one producer sends a signal, the consumer's signal handler is called multiple times.
By looking at the Alljoyn code, when registering a signal handler, the bus object doesn't need to specify which is the target object it wants to receive from, and it uses a signal table which is a unordered_multimap that allows dup keys to track signal handlers. In my case, if I start n producers, n signal handlers will be registered and added to the table for the same signal.
I didn't find any API that I can query if any handler has been registered or not before I add it, other than tracking all the registered signal handler on my own application, is there any other way to solve this problem?