mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
a98be0344b
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
33 lines
1,009 B
Go
33 lines
1,009 B
Go
// +build !experimental
|
|
|
|
package store
|
|
|
|
import (
|
|
"github.com/docker/docker/pkg/plugingetter"
|
|
"github.com/docker/docker/pkg/plugins"
|
|
)
|
|
|
|
// GetAllByCap returns a list of plugins matching the given capability.
|
|
func (ps Store) GetAllByCap(capability string) ([]plugingetter.CompatPlugin, error) {
|
|
pl, err := plugins.GetAll(capability)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
result := make([]plugingetter.CompatPlugin, len(pl))
|
|
for i, p := range pl {
|
|
result[i] = p
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
// Get returns a plugin matching the given name and capability.
|
|
func (ps Store) Get(name, capability string, _ int) (plugingetter.CompatPlugin, error) {
|
|
return plugins.Get(name, capability)
|
|
}
|
|
|
|
// Handle sets a callback for a given capability. It is only used by network
|
|
// and ipam drivers during plugin registration. The callback registers the
|
|
// driver with the subsystem (network, ipam).
|
|
func (ps *Store) Handle(capability string, callback func(string, *plugins.Client)) {
|
|
plugins.Handle(capability, callback)
|
|
}
|