mirror of
https://github.com/CCLeonOS/LeonOS.git
synced 2026-03-03 15:17:01 +00:00
36 lines
584 B
Lua
36 lines
584 B
Lua
|
|
-- rc.disk
|
||
|
|
|
||
|
|
local p = require("peripheral")
|
||
|
|
|
||
|
|
local disk = {}
|
||
|
|
|
||
|
|
local function wrap(method)
|
||
|
|
return function(name, ...)
|
||
|
|
if not p.isPresent(name) then
|
||
|
|
return nil
|
||
|
|
end
|
||
|
|
|
||
|
|
return p.call(name, method, ...)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
local methods = {
|
||
|
|
isPresent = "isDiskPresent",
|
||
|
|
getLabel = "getDiskLabel",
|
||
|
|
setLabel = "setDiskLabel",
|
||
|
|
hasData = false,
|
||
|
|
getMountPath = false,
|
||
|
|
hasAudio = false,
|
||
|
|
getAudioTitle = false,
|
||
|
|
playAudio = false,
|
||
|
|
stopAudio = false,
|
||
|
|
eject = "ejectDisk",
|
||
|
|
getID = "getDiskID"
|
||
|
|
}
|
||
|
|
|
||
|
|
for k, v in pairs(methods) do
|
||
|
|
disk[k] = wrap(v or k)
|
||
|
|
end
|
||
|
|
|
||
|
|
return disk
|