MCPcopy Create free account
hub / github.com/KDAB/GammaRay / registerMessageHandler

Method registerMessageHandler

common/endpoint.cpp:261–281  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

259}
260
261void Endpoint::registerMessageHandler(Protocol::ObjectAddress objectAddress, QObject *receiver,
262 const char *messageHandlerName)
263{
264 Q_ASSERT(m_addressMap.contains(objectAddress));
265 ObjectInfo *obj = m_addressMap.value(objectAddress);
266 Q_ASSERT(obj);
267 Q_ASSERT(!obj->receiver);
268 Q_ASSERT(!obj->messageHandler.isValid());
269 obj->receiver = receiver;
270
271 QByteArray signature(messageHandlerName);
272 signature += "(GammaRay::Message)";
273 auto idx = receiver->metaObject()->indexOfMethod(signature);
274 Q_ASSERT(idx >= 0);
275 obj->messageHandler = receiver->metaObject()->method(idx);
276
277 Q_ASSERT(!m_handlerMap.contains(receiver, obj));
278 m_handlerMap.insert(receiver, obj);
279 if (obj->receiver != obj->object)
280 connect(receiver, &QObject::destroyed, this, &Endpoint::slotHandlerDestroyed);
281}
282
283void Endpoint::unregisterMessageHandler(Protocol::ObjectAddress objectAddress)
284{

Callers 2

registerServerMethod · 0.45
SelectionModelServerMethod · 0.45

Calls 4

valueMethod · 0.45
isValidMethod · 0.45
metaObjectMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected