20 lines
449 B
Go
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]
|
|
}
|