forked from Elara6331/itd
Removed mock
This commit is contained in:
parent
4d3bc1ed40
commit
b181785006
161
fuse/mock.go
161
fuse/mock.go
@ -1,161 +0,0 @@
|
|||||||
package main
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
"io/ioutil"
|
|
||||||
"errors"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
FSStatusOk = 0x01
|
|
||||||
FSStatusError = 0x02
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
ErrFileNotExists = errors.New("file does not exist")
|
|
||||||
ErrFileReadOnly = errors.New("file is read only")
|
|
||||||
ErrFileWriteOnly = errors.New("file is write only")
|
|
||||||
ErrInvalidOffset = errors.New("invalid file offset")
|
|
||||||
ErrOffsetChanged = errors.New("offset has already been changed")
|
|
||||||
ErrReadOpen = errors.New("only one file can be opened for reading at a time")
|
|
||||||
ErrWriteOpen = errors.New("only one file can be opened for writing at a time")
|
|
||||||
ErrNoRemoveRoot = errors.New("refusing to remove root directory")
|
|
||||||
)
|
|
||||||
|
|
||||||
type Device struct {
|
|
||||||
}
|
|
||||||
type FS struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
type MyFileInfo struct {
|
|
||||||
name string
|
|
||||||
size uint32
|
|
||||||
modtime time.Time
|
|
||||||
dir bool
|
|
||||||
}
|
|
||||||
func (n *MyFileInfo) Name() string {
|
|
||||||
return n.name
|
|
||||||
}
|
|
||||||
func (n *MyFileInfo) Size() uint32 {
|
|
||||||
return n.size
|
|
||||||
}
|
|
||||||
func (n *MyFileInfo) ModTime() time.Time {
|
|
||||||
return n.modtime
|
|
||||||
}
|
|
||||||
func (n *MyFileInfo) IsDir() bool {
|
|
||||||
return n.dir
|
|
||||||
}
|
|
||||||
|
|
||||||
type MyDirEntry struct {
|
|
||||||
self MyFileInfo
|
|
||||||
}
|
|
||||||
func (n *MyDirEntry) Info() (MyFileInfo, error) {
|
|
||||||
return n.self, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type File struct {
|
|
||||||
fs *FS
|
|
||||||
path string
|
|
||||||
fp *os.File
|
|
||||||
isReadOnly bool
|
|
||||||
isWriteOnly bool
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func (i *Device) HeartRate() (uint8, error) {
|
|
||||||
return 10, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *Device) BatteryLevel() (uint8, error) {
|
|
||||||
return 95, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *Device) StepCount() (uint32, error) {
|
|
||||||
return 27000, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type MotionValues struct {
|
|
||||||
X int16
|
|
||||||
Y int16
|
|
||||||
Z int16
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *Device) Motion() (MotionValues, error) {
|
|
||||||
return MotionValues{-12, +64, -19}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *Device) Address() string {
|
|
||||||
return "FA:E4:00:00:00:00"
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *Device) Version() (string, error) {
|
|
||||||
return "1.11.0", nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (blefs *FS) ReadDir(path string) ([]MyDirEntry, error) {
|
|
||||||
var out []MyDirEntry
|
|
||||||
files, err := ioutil.ReadDir("./root/" + path)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, f := range files {
|
|
||||||
listing := MyFileInfo{}
|
|
||||||
listing.modtime = f.ModTime()
|
|
||||||
listing.size = uint32(f.Size())
|
|
||||||
listing.name = f.Name()
|
|
||||||
listing.dir = f.IsDir()
|
|
||||||
out = append(out, MyDirEntry{self : listing})
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (blefs *FS) Mkdir(path string) error {
|
|
||||||
return os.Mkdir("./root/" + path, os.ModePerm)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (blefs *FS) Rename(old, new string) error {
|
|
||||||
return os.Rename("./root/" + old, "./root/" + new)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (blefs *FS) Remove(path string) error {
|
|
||||||
return os.Remove("./root/" + path)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (blefs *FS) Open(path string) (*File, error) {
|
|
||||||
fp, _ := os.Open("./root/" + path)
|
|
||||||
return &File{
|
|
||||||
fs : blefs,
|
|
||||||
path : path,
|
|
||||||
fp : fp,
|
|
||||||
isReadOnly : true,
|
|
||||||
isWriteOnly : false,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
func (blefs *FS) Create(path string, size uint32) (*File, error) {
|
|
||||||
fp, _ := os.Create("./root/" + path)
|
|
||||||
return &File{
|
|
||||||
fs : blefs,
|
|
||||||
path : path,
|
|
||||||
fp : fp,
|
|
||||||
isReadOnly : false,
|
|
||||||
isWriteOnly : true,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
func (fl *File) Read(b []byte) (n int, err error) {
|
|
||||||
if fl.isWriteOnly {
|
|
||||||
return 0, ErrFileWriteOnly
|
|
||||||
}
|
|
||||||
return fl.fp.Read(b)
|
|
||||||
}
|
|
||||||
func (fl *File) Write(b []byte) (n int, err error) {
|
|
||||||
if fl.isReadOnly {
|
|
||||||
return 0, ErrFileReadOnly
|
|
||||||
}
|
|
||||||
return fl.fp.Write(b)
|
|
||||||
}
|
|
||||||
func (fl *File) Close() error {
|
|
||||||
return fl.fp.Close()
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user