2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
koreader/frontend/device.lua
NiLuJe c9d941215b lfs.attributes() basically does a stat()
Rename these variables accordingly, that kills my itch to close() random
fds ^^
2015-04-27 13:10:16 +02:00

40 lines
985 B
Lua

local isAndroid, android = pcall(require, "android")
local util = require("ffi/util")
local function probeDevice()
if util.isEmulated() then
return require("device/emulator/device")
end
if isAndroid then
return require("device/android/device")
end
local kindle_sn = io.open("/proc/usid", "r")
if kindle_sn then
kindle_sn:close()
return require("device/kindle/device")
end
local kg_test_stat = lfs.attributes("/bin/kobo_config.sh")
if kg_test_stat then
return require("device/kobo/device")
end
local pbook_test_stat = lfs.attributes("/ebrmain")
if pbook_test_stat then
return require("device/pocketbook/device")
end
-- add new ports here:
if --[[ implement a proper test instead --]] false then
return require("device/newport/device")
end
error("did not find a hardware abstraction for this platform")
end
local dev = probeDevice()
dev:init()
return dev