MCPcopy Create free account
hub / github.com/defold/defold / PreloaderGet

Method PreloaderGet

engine/resource/src/test/test_resource.cpp:280–304  ·  view source on GitHub ↗

dmResource::Get API but with preloader instead

Source from the content-addressed store, hash-verified

278
279 // dmResource::Get API but with preloader instead
280 dmResource::Result PreloaderGet(dmResource::HFactory factory, const char *ref, void** resource)
281 {
282 // Unfortunately the assert macros won't work inside a function.
283 dmResource::HPreloader pr = dmResource::NewPreloader(m_Factory, ref);
284 dmResource::Result r;
285 for (uint32_t i=0;i<33;i++)
286 {
287 r = dmResource::UpdatePreloader(pr, 0, 0, 30*1000);
288 if (r != dmResource::RESULT_PENDING)
289 break;
290 dmTime::Sleep(30000);
291 }
292
293 if (r == dmResource::RESULT_OK)
294 {
295 r = dmResource::Get(factory, ref, resource);
296 }
297 else
298 {
299 *resource = 0x0;
300 }
301
302 dmResource::DeletePreloader(pr);
303 return r;
304 }
305
306public:
307 uint32_t m_ResourceContainerCreateCallCount;

Callers

nothing calls this directly

Calls 5

NewPreloaderFunction · 0.85
UpdatePreloaderFunction · 0.85
DeletePreloaderFunction · 0.85
SleepFunction · 0.50
GetFunction · 0.50

Tested by

no test coverage detected