func checkUI(c libkb.UIConsumer, ctx *Context) error { for _, ui := range c.RequiredUIs() { if !ctx.HasUI(ui) { return CheckError{fmt.Sprintf("requires ui %q", ui)} } } return nil }
func check(c libkb.UIConsumer, ctx *Context) error { if err := checkUI(c, ctx); err != nil { return CheckError{fmt.Sprintf("%s: %s", c.Name(), err)} } for _, sub := range c.SubConsumers() { if err := check(sub, ctx); err != nil { return CheckError{fmt.Sprintf("%s: %s", sub.Name(), err)} } } return nil }
func requiresUI(c libkb.UIConsumer, ctx *Context, kind libkb.UIKind) bool { for _, ui := range c.RequiredUIs() { if ui == kind { return true } } for _, sub := range c.SubConsumers() { if requiresUI(sub, ctx, kind) { return true } } return false }