package main import ( "flag" "log" "src.dualinventive.com/go/devsim/daemon" "src.dualinventive.com/go/devsim/simulator" ) var ( host = flag.String("host", "127.0.0.1:3600", "gRPC daemon host address") ) const repositoryURIZKL3000RC = "git@src.dualinventive.com:simulator/zkl-3000-rc.git" func createSimulators(dsc simulator.Service) { for i := 0; i < 10; i++ { info, err := dsc.Add(repositoryURIZKL3000RC, "v0.0.2") if err != nil { log.Println("simulator created failed", err) } err = dsc.Start(info.DeviceUID()) if err != nil { log.Println("unable to start simulator", err) } } } func listSimulators(dss simulator.Service) []simulator.Simulator { log.Println("simulators:") simulators := dss.List() for _, sim := range simulators { log.Printf("\t--- %+v ---\n", sim.DeviceUID()) log.Printf("\t%+v\n", sim.Name()) log.Printf("\t%+v\n", sim.Author()) log.Printf("\t%+v\n", sim.Version()) } return simulators } func main() { flag.Parse() client, err := daemon.NewClient(*host) if err != nil { log.Fatal(err) } err = client.Repository.Add(repositoryURIZKL3000RC) if err != nil { log.Println("repository", repositoryURIZKL3000RC, err) } simulators := listSimulators(client.Simulator) if len(simulators) == 0 { createSimulators(client.Simulator) } // Repositories info and remove log.Println("repositories:") for _, repo := range client.Repository.List() { log.Println("\t", repo.URI()) } }