github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/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  
     9  	"github.com/juju/juju/api/base"
    10  	"github.com/juju/juju/api/undertaker"
    11  	"github.com/juju/juju/api/watcher"
    12  	"github.com/juju/juju/worker"
    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  }