Simplify subscribing to events and fix events
[govpp.git] / cmd / binapi-generator / generate.go
index e29c84d..73bcd2a 100644 (file)
@@ -140,9 +140,9 @@ func generatePackage(ctx *context, w *bufio.Writer) error {
        if len(ctx.packageData.Services) > 0 {
                fmt.Fprintf(w, "/* Services */\n\n")
 
-               fmt.Fprintf(w, "type %s interface {\n", "Services")
                ctx.inputBuff = bytes.NewBuffer(ctx.inputData)
                ctx.inputLine = 0
+               fmt.Fprintf(w, "type %s interface {\n", "Services")
                for _, svc := range ctx.packageData.Services {
                        generateService(ctx, w, &svc)
                }
@@ -181,6 +181,7 @@ func generateHeader(ctx *context, w io.Writer) {
        fmt.Fprintf(w, "\t%s\n", filepath.Base(ctx.inputFile))
        fmt.Fprintln(w)
        fmt.Fprintln(w, "It contains these VPP binary API objects:")
+
        var printObjNum = func(obj string, num int) {
                if num > 0 {
                        if num > 1 {
@@ -194,6 +195,7 @@ func generateHeader(ctx *context, w io.Writer) {
        printObjNum("enum", len(ctx.packageData.Enums))
        printObjNum("union", len(ctx.packageData.Unions))
        printObjNum("service", len(ctx.packageData.Services))
+
        fmt.Fprintln(w, "*/")
        fmt.Fprintf(w, "package %s\n", ctx.packageName)
        fmt.Fprintln(w)
@@ -207,6 +209,7 @@ func generateImports(ctx *context, w io.Writer) {
        fmt.Fprintln(w)
 
        fmt.Fprintf(w, "// Reference imports to suppress errors if they are not otherwise used.\n")
+       fmt.Fprintf(w, "var _ = api.RegisterMessage\n")
        fmt.Fprintf(w, "var _ = struc.Pack\n")
        fmt.Fprintf(w, "var _ = bytes.NewBuffer\n")
        fmt.Fprintln(w)