github.com/Cloud-Foundations/Dominator@v0.3.4/imageserver/client/listSelectedImages.go (about) 1 package client 2 3 import ( 4 "github.com/Cloud-Foundations/Dominator/lib/srpc" 5 proto "github.com/Cloud-Foundations/Dominator/proto/imageserver" 6 ) 7 8 func listSelectedImages(client srpc.ClientI, 9 request proto.ListSelectedImagesRequest) ([]string, error) { 10 conn, err := client.Call("ImageServer.ListSelectedImages") 11 if err != nil { 12 return nil, err 13 } 14 defer conn.Close() 15 if err := conn.Encode(request); err != nil { 16 return nil, err 17 } 18 if err := conn.Flush(); err != nil { 19 return nil, err 20 } 21 images := make([]string, 0) 22 for { 23 line, err := conn.ReadString('\n') 24 if err != nil { 25 return nil, err 26 } 27 line = line[:len(line)-1] 28 if line == "" { 29 break 30 } 31 images = append(images, line) 32 } 33 return images, nil 34 }