É possível desconectar todas as conexões de um QObject sem excluí-lo

Eu tenho um QObject A, isso está conectado a outro QObject B. Agora, quero que A se conecte a C, um terceiro QObject e se desconecte completamente de B.

Mole-mole! O problema é que tenho muitos A's, cada um com seu próprio conjunto de sinais e slots (B's / C's são mais genéricos). Até agora, eu tenho feito manualmente um método de conexão e desconexão para cada tipo de classe diferente. Os métodos são basicamente cópias um do outro trocando oconnect paradisconnect chamada, indo contra onão se repita)

Então, minha pergunta é: É possível a seguinte função?

void deleteAllConnections(QObject* someObject) {
    // TODO disconnect all connections owned by someObject
    // For bonus points: Is there a way of accessing the QMetaObject connected to?
}

Eu bisbilhotei noQMetaObject, QObject e aSinais e Slots documentação sem sorte (embora isso geralmente não seja uma garantia ...).

questionAnswers(1)

yourAnswerToTheQuestion