github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/worker/undertaker/shim.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package undertaker 5 6 import ( 7 "github.com/juju/errors" 8 "gopkg.in/juju/worker.v1" 9 10 "github.com/juju/juju/api/base" 11 "github.com/juju/juju/api/undertaker" 12 "github.com/juju/juju/api/watcher" 13 ) 14 15 // NewFacade creates a Facade from a base.APICaller, by calling the 16 // constructor in api/undertaker that returns a more specific type. 17 func NewFacade(apiCaller base.APICaller) (Facade, error) { 18 facade, err := undertaker.NewClient(apiCaller, watcher.NewNotifyWatcher) 19 if err != nil { 20 return nil, errors.Trace(err) 21 } 22 return facade, nil 23 } 24 25 // NewFacade creates a worker.Worker from a Config, by calling the 26 // local constructor that returns a more specific type. 27 func NewWorker(config Config) (worker.Worker, error) { 28 worker, err := NewUndertaker(config) 29 if err != nil { 30 return nil, errors.Trace(err) 31 } 32 return worker, nil 33 }