linsk/share/backend.go
2023-09-01 15:15:40 +01:00

20 lines
449 B
Go

package share
import "context"
type NewBackendFunc func(uc *UserConfiguration) (Backend, *VMShareOptions, error)
type Backend interface {
Apply(ctx context.Context, sharePWD string, vc *VMShareContext) (string, error)
}
var backends = map[string]NewBackendFunc{
"ftp": NewFTPBackend,
"smb": NewSMBBackend,
"afp": NewAFPBackend,
}
// Will return nil if no backend is found.
func GetBackend(id string) NewBackendFunc {
return backends[id]
}