1
// Copyright 2013 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
9
"github.com/juju/version"
11
"github.com/juju/juju/tools"
14
// DiskManager keeps track of a collections of Juju agent tools in a directory
16
type DiskManager struct {
20
// NewDiskManager returns a DiskManager handling a given directory.
21
// *DiskManager conforms to the ToolsManager interface
22
func NewDiskManager(dataDir string) *DiskManager {
23
return &DiskManager{dataDir: dataDir}
26
func (d *DiskManager) ReadTools(vers version.Binary) (*tools.Tools, error) {
27
return ReadTools(d.dataDir, vers)
30
func (d *DiskManager) UnpackTools(tools *tools.Tools, r io.Reader) error {
31
return UnpackTools(d.dataDir, tools, r)
34
func (d *DiskManager) SharedToolsDir(vers version.Binary) string {
35
return SharedToolsDir(d.dataDir, vers)