embd/host/descriptor.go

27 lines
428 B
Go
Raw Normal View History

package host
2014-03-02 15:09:30 +01:00
import "fmt"
type Descriptor struct {
GPIO func() interface{}
I2C func() interface{}
}
type Describer func(rev int) *Descriptor
var Describers = map[Host]Describer{}
func Describe() (*Descriptor, error) {
host, rev, err := Detect()
if err != nil {
return nil, err
}
describer, ok := Describers[host]
if !ok {
2014-03-02 15:09:30 +01:00
return nil, fmt.Errorf("host: invalid host %q", host)
}
return describer(rev), nil
}