system: implement Enablements String method
Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
parent
ed10574dea
commit
b9cc318314
@ -1,5 +1,9 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
type (
|
||||
// Enablement represents an optional system resource
|
||||
Enablement uint8
|
||||
@ -47,3 +51,18 @@ func (es *Enablements) Set(e Enablement) {
|
||||
|
||||
*es |= e.Mask()
|
||||
}
|
||||
|
||||
func (es *Enablements) String() string {
|
||||
buf := new(strings.Builder)
|
||||
for i := Enablement(0); i < Enablement(ELen); i++ {
|
||||
if es.Has(i) {
|
||||
buf.WriteString(", " + i.String())
|
||||
}
|
||||
}
|
||||
|
||||
if buf.Len() == 0 {
|
||||
buf.WriteString("(No enablements)")
|
||||
}
|
||||
|
||||
return strings.TrimPrefix(buf.String(), ", ")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user