/*
- * Copyright (C) 2017 "IoT.bzh"
+ * Copyright (C) 2017-2018 "IoT.bzh"
* Author Sebastien Douheret <sebastien@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
"syscall"
"text/tabwriter"
+ "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xaapiv1"
+ common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git"
"github.com/Sirupsen/logrus"
- "github.com/iotbzh/xds-agent/lib/xaapiv1"
- common "github.com/iotbzh/xds-common/golib"
sio_client "github.com/sebd71/go-socket.io-client"
)
// Write writes message/string into gdb stdin
func (g *GdbXds) Write(args ...interface{}) error {
- return g.ioSock.Emit(xaapiv1.ExecInEvent, args...)
+ s := fmt.Sprint(args...)
+ return g.ioSock.Emit(xaapiv1.ExecInEvent, []byte(s))
}
// SendSignal is used to send a signal to remote process/gdb
//***** Private functions *****
func (g *GdbXds) printProjectsList() (int, error) {
+ var prjExample *xaapiv1.ProjectConfig
+ var sdkExample *xaapiv1.SDK
+
writer := new(tabwriter.Writer)
writer.Init(os.Stdout, 0, 8, 0, '\t', 0)
msg := ""
if len(g.projects) > 0 {
fmt.Fprintln(writer, "List of existing projects (use: export XDS_PROJECT_ID=<< ID >>):")
fmt.Fprintln(writer, "ID \t Label")
- for _, f := range g.projects {
+ for ii, f := range g.projects {
fmt.Fprintf(writer, " %s \t %s\n", f.ID, f.Label)
+ prjExample = &g.projects[ii]
}
}
}
fmt.Fprintln(writer, "\nList of installed cross SDKs (use: export XDS_SDK_ID=<< ID >>):")
fmt.Fprintln(writer, "ID \t Name")
- for _, s := range sdks {
- fmt.Fprintf(writer, " %s \t %s\n", s.ID, s.Name)
+ for ii, s := range sdks {
+ if s.Status == xaapiv1.SdkStatusInstalled {
+ fmt.Fprintf(writer, " %s \t %s\n", s.ID, s.Name)
+ sdkExample = &sdks[ii]
+ }
}
- if len(g.projects) > 0 && len(sdks) > 0 {
+ if prjExample != nil && sdkExample != nil {
fmt.Fprintln(writer, "")
fmt.Fprintln(writer, "For example: ")
if runtime.GOOS == "windows" {
fmt.Fprintf(writer, " SET XDS_PROJECT_ID=%s && SET XDS_SDK_ID=%s && %s -x myGdbConf.ini\n",
- g.projects[0].ID[:8], sdks[0].ID[:8], AppName)
+ prjExample.ID[:8], sdkExample.ID[:8], AppName)
} else {
fmt.Fprintf(writer, " XDS_PROJECT_ID=%s XDS_SDK_ID=%s %s -x myGdbConf.ini\n",
- g.projects[0].ID[:8], sdks[0].ID[:8], AppName)
+ prjExample.ID[:8], sdkExample.ID[:8], AppName)
}
}
fmt.Fprintln(writer, "")