add SliceForCapabilityPrimitive func
This commit is contained in:
parent
f6082a78b0
commit
895c4e69c6
|
@ -227,7 +227,7 @@ const (
|
||||||
ListObjectParamLabel uint8 = 0x06
|
ListObjectParamLabel uint8 = 0x06
|
||||||
)
|
)
|
||||||
|
|
||||||
// CapabilityPrimitiveFromSlice OR's all the capabilitites together.
|
// CapabilityPrimitiveFromSlice OR's all the capabilities together.
|
||||||
func CapabilityPrimitiveFromSlice(capabilitites []uint64) uint64 {
|
func CapabilityPrimitiveFromSlice(capabilitites []uint64) uint64 {
|
||||||
var primitive uint64
|
var primitive uint64
|
||||||
for _, c := range capabilitites {
|
for _, c := range capabilitites {
|
||||||
|
@ -235,3 +235,13 @@ func CapabilityPrimitiveFromSlice(capabilitites []uint64) uint64 {
|
||||||
}
|
}
|
||||||
return primitive
|
return primitive
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SliceForCapabilityPrimitive(primitive uint64) (capabilities []uint64) {
|
||||||
|
for i := 0; i < 64; i++ {
|
||||||
|
c := uint64(1) << i
|
||||||
|
if c&primitive > 0 {
|
||||||
|
capabilities = append(capabilities, c)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue