aboutsummaryrefslogtreecommitdiff
path: root/device.go
blob: 5166d8333f131610f6f29dde29bbff024be4ac8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package robo

import "bufio"

type Device interface {
	Close()
	Handle() *bufio.ReadWriter
}

var devices = []string{
	"/dev/usb/lp0", // Linux
	"/dev/ulpt0",   // OpenBSD
}

func NewDevice() (dev Device) {
	var err error

	for _, d := range devices {
		if dev, err = NewLP(d); err == nil {
			return
		}
	}

	if dev, err = NewUSB(); err == nil {
		return
	}

	panic(err)
}