
godep restore pushd $GOPATH/src/github.com/appc/spec git co master popd go get go4.org/errorutil rm -rf Godeps godep save ./... git add vendor git add -f $(git ls-files --other vendor/) git co -- Godeps/LICENSES Godeps/.license_file_state Godeps/OWNERS
29 lines
511 B
Go
29 lines
511 B
Go
package callback
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
type Unsupported struct {
|
|
Callback Interface
|
|
}
|
|
|
|
func (uc *Unsupported) Error() string {
|
|
return fmt.Sprintf("Unsupported callback <%T>: %v", uc.Callback, uc.Callback)
|
|
}
|
|
|
|
type Interface interface {
|
|
// marker interface
|
|
}
|
|
|
|
type Handler interface {
|
|
// may return an Unsupported error on failure
|
|
Handle(callbacks ...Interface) error
|
|
}
|
|
|
|
type HandlerFunc func(callbacks ...Interface) error
|
|
|
|
func (f HandlerFunc) Handle(callbacks ...Interface) error {
|
|
return f(callbacks...)
|
|
}
|