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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
package states
import (
"strings"
)
type State int
const (
Unknown State = iota
Running
Listening
Stopped
NotFound
Error
)
var states = []string{
"unknown",
"active (running)",
"active (listening)",
"inactive (dead)",
"could not be found",
"error",
}
func (s State) String() string {
if int(s) >= 0 && int(s) < len(states) {
return states[s]
}
return ""
}
func Compare(input string) State {
if strings.Contains(input, states[Running]) {
return Running
}
if strings.Contains(input, states[Listening]) {
return Listening
}
if strings.Contains(input, states[Stopped]) {
return Stopped
}
if strings.Contains(input, states[NotFound]) {
return NotFound
}
return Unknown
}
|