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

Function Resource_GetMounts

engine/liveupdate/src/script_liveupdate.cpp:43–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41 }
42
43 static int Resource_GetMounts(lua_State* L)
44 {
45 DM_LUA_STACK_CHECK(L, 1);
46
47 dmResourceMounts::HContext mounts = dmResource::GetMountsContext(g_LUScriptCtx.m_Factory);
48 dmMutex::HMutex mutex = dmResourceMounts::GetMutex(mounts);
49 DM_MUTEX_SCOPED_LOCK(mutex);
50
51 uint32_t count = dmResourceMounts::GetNumMounts(mounts);
52
53 lua_createtable(L, count, 0);
54
55 for (uint32_t i = 0; i < count; ++i)
56 {
57 dmResourceMounts::SGetMountResult info;
58 dmResource::Result result = dmResourceMounts::GetMountByIndex(mounts, i, &info);
59 if (dmResource::RESULT_OK == result)
60 {
61 dmURI::Parts uri;
62 dmResourceProvider::GetUri(info.m_Archive, &uri);
63
64 lua_pushinteger(L, i+1);
65 lua_newtable(L);
66
67 lua_pushinteger(L, info.m_Priority);
68 lua_setfield(L, -2, "priority");
69
70 dmScript::PushHash(L, info.m_NameHash);
71 lua_setfield(L, -2, "name");
72
73 if (uri.m_Location[0] == '\0')
74 lua_pushfstring(L, "%s:%s", uri.m_Scheme, uri.m_Path);
75 else
76 lua_pushfstring(L, "%s:%s/%s", uri.m_Scheme, uri.m_Location, uri.m_Path);
77 lua_setfield(L, -2, "uri");
78
79 lua_settable(L, -3);
80 }
81 }
82
83 return 1;
84 }
85
86 // *********************
87

Callers

nothing calls this directly

Calls 11

GetMountsContextFunction · 0.85
GetMutexFunction · 0.85
GetNumMountsFunction · 0.85
lua_createtableFunction · 0.85
GetMountByIndexFunction · 0.85
GetUriFunction · 0.85
lua_pushintegerFunction · 0.85
lua_setfieldFunction · 0.85
PushHashFunction · 0.85
lua_pushfstringFunction · 0.85
lua_settableFunction · 0.85

Tested by

no test coverage detected