rclone/fs/override_dir.go

34 lines
783 B
Go

package fs
// OverrideDirectory is a wrapper to override the Remote for an
// Directory
type OverrideDirectory struct {
Directory
remote string
}
// NewOverrideDirectory returns an OverrideDirectoryObject which will
// return the remote specified
func NewOverrideDirectory(oi Directory, remote string) *OverrideDirectory {
// re-wrap an OverrideDirectory
if or, ok := oi.(*OverrideDirectory); ok {
return &OverrideDirectory{
Directory: or.Directory,
remote: remote,
}
}
return &OverrideDirectory{
Directory: oi,
remote: remote,
}
}
// Remote returns the overridden remote name
func (o *OverrideDirectory) Remote() string {
return o.remote
}
// String returns the overridden remote name
func (o *OverrideDirectory) String() string {
return o.remote
}