aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/system/enablement.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/system/enablement.go b/internal/system/enablement.go
index f4435627..f0911d54 100644
--- a/internal/system/enablement.go
+++ b/internal/system/enablement.go
@@ -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(), ", ")
+}