def AaDbB.finish
bend-osdev-apparmor@0.1.0.0 · rule_dbus.bend:206
import bend-osdev-apparmor@0.1.0.0/rule_dbus.bend as RuleDbus
import Base
import bend-osdev-apparmor@0.1.0.0/perm.bend as P
import bend-osdev-apparmor@0.1.0.0/error.bend as E
206def AaDbB.finish(q: P.AaQual, b: AaDbB, src: E.AaSrc) -> Result<&2, &2, E.AaError, AaDbusRule>:
207 match b:
208 case AaDbB{p, +xs}:
209 +msg = Bool.or(AaDbus.is_some(AaDbus.nth(1n, xs)), Bool.or(AaDbus.is_some(AaDbus.nth(2n, xs)), Bool.or(AaDbus.is_some(AaDbus.nth(3n, xs)), Bool.or(AaDbus.is_some(AaDbus.nth(5n, xs)), AaDbus.is_some(AaDbus.nth(6n, xs))))))
210 +svc = AaDbus.is_some(AaDbus.nth(4n, xs))
211 do Result<&2, &2, E.AaError, AaDbusRule>:
212 ps : P.AaPerms <- AaDbus.perms(p, msg, svc, src)
213 return AaDbusRule{q, ps, AaDbus.nth(0n, xs), AaDbus.nth(1n, xs), AaDbus.nth(2n, xs), AaDbus.nth(3n, xs), AaDbus.nth(4n, xs), AaDbus.nth(5n, xs), AaDbus.nth(6n, xs)}