package browser import "fmt" type Status int const ( StatusUnknown Status = iota StatusIdle StatusCasting ) func (s Status) String() string { switch s { case StatusIdle: return "idle" case StatusCasting: return "casting" default: return fmt.Sprintf("unknown (%d)", s) } } type Browser interface { // Cast loads an URL Load(url string) error // Reset resets the browser to the given idle URL Reset(url string) error // Status returns the browser's current status Status() (Status, error) // Title returns the browser's currently loaded page title Title() (string, error) // URL returns the browser's currently loaded page URL URL() (string, error) }