wrappedfs.go 7.02 KB
Newer Older
1 2 3
package fuse

type WrappingPathFilesystem struct {
4 5 6
	// Should be public so people reusing can access the wrapped
	// FS.
	Original PathFilesystem
7 8 9
}

func (me *WrappingPathFilesystem) GetAttr(name string) (*Attr, Status) {
10
	return me.Original.GetAttr(name)
11 12 13
}

func (me *WrappingPathFilesystem) Readlink(name string) (string, Status) {
14
	return me.Original.Readlink(name)
15 16 17
}

func (me *WrappingPathFilesystem) Mknod(name string, mode uint32, dev uint32) Status {
18
	return me.Original.Mknod(name, mode, dev)
19 20 21
}

func (me *WrappingPathFilesystem) Mkdir(name string, mode uint32) Status {
22
	return me.Original.Mkdir(name, mode)
23 24 25
}

func (me *WrappingPathFilesystem) Unlink(name string) (code Status) {
26
	return me.Original.Unlink(name)
27 28 29
}

func (me *WrappingPathFilesystem) Rmdir(name string) (code Status) {
30
	return me.Original.Rmdir(name)
31 32 33
}

func (me *WrappingPathFilesystem) Symlink(value string, linkName string) (code Status) {
34
	return me.Original.Symlink(value, linkName)
35 36 37
}

func (me *WrappingPathFilesystem) Rename(oldName string, newName string) (code Status) {
38
	return me.Original.Rename(oldName, newName)
39 40 41
}

func (me *WrappingPathFilesystem) Link(oldName string, newName string) (code Status) {
42
	return me.Original.Link(oldName, newName)
43 44 45
}

func (me *WrappingPathFilesystem) Chmod(name string, mode uint32) (code Status) {
46
	return me.Original.Chmod(name, mode)
47 48 49
}

func (me *WrappingPathFilesystem) Chown(name string, uid uint32, gid uint32) (code Status) {
50
	return me.Original.Chown(name, uid, gid)
51 52 53
}

func (me *WrappingPathFilesystem) Truncate(name string, offset uint64) (code Status) {
54
	return me.Original.Truncate(name, offset)
55 56 57
}

func (me *WrappingPathFilesystem) Open(name string, flags uint32) (file RawFuseFile, code Status) {
58
	return me.Original.Open(name, flags)
59 60 61
}

func (me *WrappingPathFilesystem) OpenDir(name string) (stream chan DirEntry, status Status) {
62
	return me.Original.OpenDir(name)
63 64 65
}

func (me *WrappingPathFilesystem) Mount(conn *PathFileSystemConnector) Status {
66
	return me.Original.Mount(conn)
67 68 69
}

func (me *WrappingPathFilesystem) Unmount() {
70
	me.Original.Unmount()
71 72 73
}

func (me *WrappingPathFilesystem) Access(name string, mode uint32) (code Status) {
74
	return me.Original.Access(name, mode)
75 76 77
}

func (me *WrappingPathFilesystem) Create(name string, flags uint32, mode uint32) (file RawFuseFile, code Status) {
78
	return me.Original.Create(name, flags, mode)
79 80 81
}

func (me *WrappingPathFilesystem) Utimens(name string, AtimeNs uint64, CtimeNs uint64) (code Status) {
82
	return me.Original.Utimens(name, AtimeNs, CtimeNs)
83 84
}

Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
85
func (me *WrappingPathFilesystem) GetXAttr(name string, attr string) ([]byte, Status) {
86
	return me.Original.GetXAttr(name, attr)
Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
87 88
}

89 90 91 92
func (me *WrappingPathFilesystem) SetXAttr(name string, attr string, data []byte, flags int) Status {
	return me.Original.SetXAttr(name, attr, data, flags)
}

Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
93
func (me *WrappingPathFilesystem) ListXAttr(name string) ([]string, Status) {
94
	return me.Original.ListXAttr(name)
Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
95
}
96

Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
97
func (me *WrappingPathFilesystem) RemoveXAttr(name string, attr string) Status {
98
	return me.Original.RemoveXAttr(name, attr)
Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
99 100
}

101 102 103 104
////////////////////////////////////////////////////////////////
// Wrapping raw FS.

type WrappingRawFilesystem struct {
105
	Original RawFileSystem
106 107 108 109
}


func (me *WrappingRawFilesystem) Init(h *InHeader, input *InitIn) (*InitOut, Status) {
110
	return me.Original.Init(h, input)
111 112 113
}

func (me *WrappingRawFilesystem) Destroy(h *InHeader, input *InitIn) {
114
	me.Original.Destroy(h, input)
115 116 117
}

func (me *WrappingRawFilesystem) Lookup(h *InHeader, name string) (out *EntryOut, code Status) {
118
	return me.Original.Lookup(h, name)
119 120 121
}

func (me *WrappingRawFilesystem) Forget(h *InHeader, input *ForgetIn) {
122
	me.Original.Forget(h, input)
123 124 125
}

func (me *WrappingRawFilesystem) GetAttr(header *InHeader, input *GetAttrIn) (out *AttrOut, code Status) {
126
	return me.Original.GetAttr(header, input)
127 128 129
}

func (me *WrappingRawFilesystem) Open(header *InHeader, input *OpenIn) (flags uint32, fuseFile RawFuseFile, status Status) {
130
	return me.Original.Open(header, input)
131 132 133
}

func (me *WrappingRawFilesystem) SetAttr(header *InHeader, input *SetAttrIn) (out *AttrOut, code Status) {
134
	return me.Original.SetAttr(header, input)
135 136 137
}

func (me *WrappingRawFilesystem) Readlink(header *InHeader) (out []byte, code Status) {
138
	return me.Original.Readlink(header)
139 140 141
}

func (me *WrappingRawFilesystem) Mknod(header *InHeader, input *MknodIn, name string) (out *EntryOut, code Status) {
142
	return me.Original.Mknod(header, input, name)
143 144 145
}

func (me *WrappingRawFilesystem) Mkdir(header *InHeader, input *MkdirIn, name string) (out *EntryOut, code Status) {
146
	return me.Original.Mkdir(header, input, name)
147 148 149
}

func (me *WrappingRawFilesystem) Unlink(header *InHeader, name string) (code Status) {
150
	return me.Original.Unlink(header, name)
151 152 153
}

func (me *WrappingRawFilesystem) Rmdir(header *InHeader, name string) (code Status) {
154
	return me.Original.Rmdir(header, name)
155 156 157
}

func (me *WrappingRawFilesystem) Symlink(header *InHeader, pointedTo string, linkName string) (out *EntryOut, code Status) {
158
	return me.Original.Symlink(header, pointedTo, linkName)
159 160 161
}

func (me *WrappingRawFilesystem) Rename(header *InHeader, input *RenameIn, oldName string, newName string) (code Status) {
162
	return me.Original.Rename(header, input, oldName, newName)
163 164 165
}

func (me *WrappingRawFilesystem) Link(header *InHeader, input *LinkIn, name string) (out *EntryOut, code Status) {
166
	return me.Original.Link(header, input, name)
167 168
}

Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
169
func (me *WrappingRawFilesystem) SetXAttr(header *InHeader, input *SetXAttrIn, attr string, data []byte) Status {
170
	return me.Original.SetXAttr(header, input, attr, data)
171 172
}

Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
173
func (me *WrappingRawFilesystem) GetXAttr(header *InHeader, attr string) (data []byte, code Status) {
174
	return me.Original.GetXAttr(header, attr)
175 176
}

Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
177
func (me *WrappingRawFilesystem) ListXAttr(header *InHeader) (data []byte, code Status) {
178
	return me.Original.ListXAttr(header)
Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
179 180
}

Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
181
func (me *WrappingRawFilesystem) RemoveXAttr(header *InHeader, attr string) Status {
182
	return me.Original.RemoveXAttr(header, attr)
Han-Wen Nienhuys's avatar
Han-Wen Nienhuys committed
183 184
}

185
func (me *WrappingRawFilesystem) Access(header *InHeader, input *AccessIn) (code Status) {
186
	return me.Original.Access(header, input)
187 188 189
}

func (me *WrappingRawFilesystem) Create(header *InHeader, input *CreateIn, name string) (flags uint32, fuseFile RawFuseFile, out *EntryOut, code Status) {
190
	return me.Original.Create(header, input, name)
191 192 193
}

func (me *WrappingRawFilesystem) Bmap(header *InHeader, input *BmapIn) (out *BmapOut, code Status) {
194
	return me.Original.Bmap(header, input)
195 196 197
}

func (me *WrappingRawFilesystem) Ioctl(header *InHeader, input *IoctlIn) (out *IoctlOut, code Status) {
198
	return me.Original.Ioctl(header, input)
199 200 201
}

func (me *WrappingRawFilesystem) Poll(header *InHeader, input *PollIn) (out *PollOut, code Status) {
202
	return me.Original.Poll(header, input)
203 204 205
}

func (me *WrappingRawFilesystem) OpenDir(header *InHeader, input *OpenIn) (flags uint32, fuseFile RawFuseDir, status Status) {
206
	return me.Original.OpenDir(header, input)
207 208 209
}

func (me *WrappingRawFilesystem) Release(header *InHeader, f RawFuseFile) {
210
	me.Original.Release(header, f)
211 212 213
}

func (me *WrappingRawFilesystem) ReleaseDir(header *InHeader, f RawFuseDir) {
214
	me.Original.ReleaseDir(header, f)
215
}