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
|
package system
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
// Enablement represents an optional system resource
|
// Enablement represents an optional system resource
|
||||||
Enablement uint8
|
Enablement uint8
|
||||||
@ -47,3 +51,18 @@ func (es *Enablements) Set(e Enablement) {
|
|||||||
|
|
||||||
*es |= e.Mask()
|
*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