def AaParse.dispatch
bend-osdev-apparmor@0.1.0.0 · parse.bend:1158
import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse
import Base
import bend-osdev-apparmor@0.1.0.0/perm.bend as P
import bend-osdev-apparmor@0.1.0.0/token.bend as T
import bend-osdev-apparmor@0.1.0.0/error.bend as E
import bend-osdev-apparmor@0.1.0.0/profile.bend as PR
import bend-osdev-apparmor@0.1.0.0/rule_file.bend as F
import bend-osdev-apparmor@0.1.0.0/rule_capability.bend as RC
import bend-osdev-apparmor@0.1.0.0/rule_network.bend as RN
import bend-osdev-apparmor@0.1.0.0/rule_signal.bend as RS
import bend-osdev-apparmor@0.1.0.0/rule_ptrace.bend as RP
import bend-osdev-apparmor@0.1.0.0/rule_mount.bend as RM
import bend-osdev-apparmor@0.1.0.0/rule_dbus.bend as RD
import bend-osdev-apparmor@0.1.0.0/rule_change_profile.bend as RX
1158def AaParse.dispatch(k: Nat, +t: T.AaTerm, +rest: List<&2, T.AaTerm>, +q: P.AaQual, +als: List<&2, AaAlias>, +src: E.AaSrc) -> Result<&2, &2, E.AaError, PR.AaRules>:
1159 match k:
1160 case 0n:
1161 AaParse.wrap.file(F.AaFile.parse(Con{t, rest}, q, src), als)
1162 case 1n+k1:
1163 match k1:
1164 case 0n:
1165 AaParse.wrap.cap(RC.AaCap.parse(rest, q, src))
1166 case 1n+k2:
1167 match k2:
1168 case 0n:
1169 AaParse.wrap.net(RN.AaNet.parse(rest, q, src))
1170 case 1n+k3:
1171 match k3:
1172 case 0n:
1173 AaParse.wrap.signal(RS.AaSignal.parse(rest, q, src))
1174 case 1n+k4:
1175 match k4:
1176 case 0n:
1177 AaParse.wrap.ptrace(RP.AaPtrace.parse(rest, q, src))
1178 case 1n+k5:
1179 match k5:
1180 case 0n:
1181 AaParse.wrap.mount(RM.AaMount.parse(RM.AaMountOpMount{}, rest, q, src))
1182 case 1n+k6:
1183 match k6:
1184 case 0n:
1185 AaParse.wrap.mount(RM.AaMount.parse(RM.AaMountOpRemount{}, rest, q, src))
1186 case 1n+k7:
1187 match k7:
1188 case 0n:
1189 AaParse.wrap.mount(RM.AaMount.parse(RM.AaMountOpUmount{}, rest, q, src))
1190 case 1n+k8:
1191 match k8:
1192 case 0n:
1193 AaParse.wrap.dbus(RD.AaDbus.parse(rest, q, src))
1194 case 1n+k9:
1195 match k9:
1196 case 0n:
1197 AaParse.wrap.change(RX.AaChange.parse(rest, q, src))
1198 case 1n+k10:
1199 match k10:
1200 case 0n:
1201 AaParse.wrap.file(F.AaFile.parse(rest, q, src), als)
1202 case 1n+k11:
1203 match k11:
1204 case 0n:
1205 Fail{E.AaSrc.unsupported(src)}
1206 case 1n+k12:
1207 Fail{E.AaSrc.preamble(src)}