github.com/rclone/rclone@v1.66.1-0.20240517100346-7b89735ae726/fs/override_dir.go (about) 1 package fs 2 3 // OverrideDirectory is a wrapper to override the Remote for an 4 // Directory 5 type OverrideDirectory struct { 6 Directory 7 remote string 8 } 9 10 // NewOverrideDirectory returns an OverrideDirectoryObject which will 11 // return the remote specified 12 func NewOverrideDirectory(oi Directory, remote string) *OverrideDirectory { 13 // re-wrap an OverrideDirectory 14 if or, ok := oi.(*OverrideDirectory); ok { 15 return &OverrideDirectory{ 16 Directory: or.Directory, 17 remote: remote, 18 } 19 } 20 return &OverrideDirectory{ 21 Directory: oi, 22 remote: remote, 23 } 24 } 25 26 // Remote returns the overridden remote name 27 func (o *OverrideDirectory) Remote() string { 28 return o.remote 29 } 30 31 // String returns the overridden remote name 32 func (o *OverrideDirectory) String() string { 33 return o.remote 34 }