I'm working now with Qt; I'm a bit mystified by their implementation of slots and signals (using 5.4 but could use old syntax too). I've looked all over for a good explanation of this part, but it's eluding me.
I used to create a slot and signal mechanism in other (non-Qt) projects. I'd have a message manager, and a routine with register with it that it wanted to send out a signal. It would send it to the message manager. Likewise a receiver would register with it that it wants to be notified of a signal. It would ask the message manager for that. Then, when a signal occurred, it would route it over to the listener. A sender didn't know how many (if any) listeners it had and a listener didn't know who might send that signal (if any).
I figured Qt worked like this, and I could still fake it by writing my own message manager, but it seems like slots and signals should take care of it. However, in all reading of slot and signal examples, it seems like that when the connection is made you need to know who the sender of the signal would be, and you connect it to your slot. However, what if the signal comes from multiple places? Do you have to wire it up to each and every module? That would seem to defeat the purpose, but every example I find shows it knowing where the signal is coming from.
Any clarification is appreciated.