void ToolManager::selectObject(ObjectId id, const QString &toolId) { switch (id.type()) { case ObjectId::Invalid: return; case ObjectId::QObjectType: { QMutexLocker lock(Probe::objectLock()); if (!Probe::instance()->isValidObject(id.asQObject())) return; Probe::instance()->selectObject(id.asQObject(), toolId); break; } case ObjectId::VoidStarType: Probe::instance()->selectObject(id.asVoidStar(), id.typeName()); break; } }
void ToolManager::requestToolsForObject(ObjectId id) { ToolInfos toolInfos; switch (id.type()) { case ObjectId::Invalid: return; case ObjectId::QObjectType: { QMutexLocker lock(Probe::objectLock()); if (!Probe::instance()->isValidObject(id.asQObject())) return; toolInfos = toolsForObject(id.asQObject()); break; } case ObjectId::VoidStarType: const auto asVoidStar = reinterpret_cast<void *>(id.id()); toolInfos = toolsForObject(asVoidStar, id.typeName()); break; } emit toolsForObjectResponse(id, toolInfos); }