@JKSH
I would give MyMessageHandler only 1 slot. Inside this slot, query the QMpiMessage to discover its subclass, and then call the appropriate function to process it.
I was more interested in the meta-object magic I have to perform, to call the appropriate function, but I think I'd found how to do it.
That's a bit like asking "How to connect to QSlider::valueChanged(int), and invoke different slots depending on whether the value is odd or even?" The answer is: You can't. Slots are invoked based on the sender object ID and the signal ID, but not the signal parameter values.
In your description, you only have 1 signal. All slots connected to that signal will be invoked each time the signal is emitted. Emitting a signal that carries a different subclass of QMpiMessage is just like emitting a signal that carries a different number. If you want to invoke different slots, then you need to emit different signals.
Fair enough. I admit I've used "connect" and "slot" a bit frivolously, so I probably need to put more effort in writing clearer questions. In any case, your comment I believe pointed me in the right direction, so I thank you for that!
Kind regards.