MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / resolveResource

Method resolveResource

launcher/minecraft/mod/ResourceFolderModel.cpp:256–279  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

254}
255
256void ResourceFolderModel::resolveResource(Resource* res)
257{
258 if (!res->shouldResolve()) {
259 return;
260 }
261
262 auto task = createParseTask(*res);
263 if (!task)
264 return;
265
266 int ticket = m_next_resolution_ticket.fetch_add(1);
267
268 res->setResolving(true, ticket);
269 m_active_parse_tasks.insert(ticket, task);
270
271 connect(
272 task, &Task::succeeded, this, [=] { onParseSucceeded(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
273 connect(
274 task, &Task::failed, this, [=] { onParseFailed(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
275 connect(
276 task, &Task::finished, this, [=] { m_active_parse_tasks.remove(ticket); }, Qt::ConnectionType::QueuedConnection);
277
278 QThreadPool::globalInstance()->start(task);
279}
280
281void ResourceFolderModel::onUpdateSucceeded()
282{

Callers

nothing calls this directly

Calls 6

shouldResolveMethod · 0.80
setResolvingMethod · 0.80
insertMethod · 0.80
internal_idMethod · 0.80
removeMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected