github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/commands/files/linkfile.go (about) 1 package files 2 3 import ( 4 "io" 5 "os" 6 "strings" 7 ) 8 9 type Symlink struct { 10 name string 11 path string 12 Target string 13 stat os.FileInfo 14 15 reader io.Reader 16 } 17 18 func NewLinkFile(name, path, target string, stat os.FileInfo) File { 19 return &Symlink{ 20 name: name, 21 path: path, 22 Target: target, 23 stat: stat, 24 reader: strings.NewReader(target), 25 } 26 } 27 28 func (lf *Symlink) IsDirectory() bool { 29 return false 30 } 31 32 func (lf *Symlink) NextFile() (File, error) { 33 return nil, io.EOF 34 } 35 36 func (f *Symlink) FileName() string { 37 return f.name 38 } 39 40 func (f *Symlink) Close() error { 41 return nil 42 } 43 44 func (f *Symlink) FullPath() string { 45 return f.path 46 } 47 48 func (f *Symlink) Read(b []byte) (int, error) { 49 return f.reader.Read(b) 50 }