mirror of
https://github.com/sky-systems/sky_phone.git
synced 2026-09-01 05:01:57 +00:00
19 lines
773 B
Lua
19 lines
773 B
Lua
Bridge.Housing = {
|
|
ClientProviders = {},
|
|
}
|
|
|
|
function Bridge.Housing.RegisterClientProvider(name, provider)
|
|
assert(type(name) == "string" and name ~= "", "Housing provider name must be a non-empty string")
|
|
assert(type(provider) == "table" and type(provider.execute) == "function", "Housing client provider must implement execute")
|
|
assert(not Bridge.Housing.ClientProviders[name], ("Housing client provider '%s' is already registered"):format(name))
|
|
Bridge.Housing.ClientProviders[name] = provider
|
|
end
|
|
|
|
function Bridge.Housing.Execute(provider_name, action, data)
|
|
local provider = Bridge.Housing.ClientProviders[provider_name]
|
|
if not provider then
|
|
return false, "provider_unavailable"
|
|
end
|
|
return provider.execute(action, data)
|
|
end
|