github.com/hustcat/docker@v1.3.3-0.20160314103604-901c67a8eeab/api/server/router/image/backend.go (about) 1 package image 2 3 import ( 4 "io" 5 6 "github.com/docker/docker/reference" 7 "github.com/docker/engine-api/types" 8 "github.com/docker/engine-api/types/container" 9 "github.com/docker/engine-api/types/registry" 10 ) 11 12 // Backend is all the methods that need to be implemented 13 // to provide image specific functionality. 14 type Backend interface { 15 containerBackend 16 imageBackend 17 importExportBackend 18 registryBackend 19 } 20 21 type containerBackend interface { 22 Commit(name string, config *types.ContainerCommitConfig) (imageID string, err error) 23 } 24 25 type imageBackend interface { 26 ImageDelete(imageRef string, force, prune bool) ([]types.ImageDelete, error) 27 ImageHistory(imageName string) ([]*types.ImageHistory, error) 28 Images(filterArgs string, filter string, all bool) ([]*types.Image, error) 29 LookupImage(name string) (*types.ImageInspect, error) 30 TagImage(newTag reference.Named, imageName string) error 31 } 32 33 type importExportBackend interface { 34 LoadImage(inTar io.ReadCloser, outStream io.Writer, quiet bool) error 35 ImportImage(src string, newRef reference.Named, msg string, inConfig io.ReadCloser, outStream io.Writer, config *container.Config) error 36 ExportImage(names []string, outStream io.Writer) error 37 } 38 39 type registryBackend interface { 40 PullImage(ref reference.Named, metaHeaders map[string][]string, authConfig *types.AuthConfig, outStream io.Writer) error 41 PushImage(ref reference.Named, metaHeaders map[string][]string, authConfig *types.AuthConfig, outStream io.Writer) error 42 SearchRegistryForImages(term string, authConfig *types.AuthConfig, metaHeaders map[string][]string) (*registry.SearchResults, error) 43 }