mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
381ce94ef4
This wraps an existing DeviceSet and just adds a prefix to all ids in it. This will be useful for reusing a single DeviceSet for all the tests (but with separate ids)
60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
package docker
|
|
|
|
type DeviceSet interface {
|
|
AddDevice(hash, baseHash string) error
|
|
SetInitialized(hash string) error
|
|
DeactivateDevice(hash string) error
|
|
RemoveDevice(hash string) error
|
|
MountDevice(hash, path string) error
|
|
HasDevice(hash string) bool
|
|
HasInitializedDevice(hash string) bool
|
|
}
|
|
|
|
type DeviceSetWrapper struct {
|
|
wrapped DeviceSet
|
|
prefix string
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) wrap(hash string) string {
|
|
if hash != "" {
|
|
hash = wrapper.prefix + "-" + hash
|
|
}
|
|
return hash
|
|
}
|
|
|
|
|
|
func (wrapper *DeviceSetWrapper) AddDevice(hash, baseHash string) error {
|
|
return wrapper.wrapped.AddDevice(wrapper.wrap(hash), wrapper.wrap(baseHash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) SetInitialized(hash string) error {
|
|
return wrapper.wrapped.SetInitialized(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) DeactivateDevice(hash string) error {
|
|
return wrapper.wrapped.DeactivateDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) RemoveDevice(hash string) error {
|
|
return wrapper.wrapped.RemoveDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) MountDevice(hash, path string) error {
|
|
return wrapper.wrapped.MountDevice(wrapper.wrap(hash), path)
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) HasDevice(hash string) bool {
|
|
return wrapper.wrapped.HasDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func (wrapper *DeviceSetWrapper) HasInitializedDevice(hash string) bool {
|
|
return wrapper.wrapped.HasInitializedDevice(wrapper.wrap(hash))
|
|
}
|
|
|
|
func NewDeviceSetWrapper(wrapped DeviceSet, prefix string) DeviceSet {
|
|
wrapper := &DeviceSetWrapper{
|
|
wrapped: wrapped,
|
|
prefix: prefix,
|
|
}
|
|
return wrapper
|
|
}
|