github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/imageserver/client/listDirectories.go (about) 1 package client 2 3 import ( 4 "github.com/Cloud-Foundations/Dominator/lib/image" 5 "github.com/Cloud-Foundations/Dominator/lib/srpc" 6 ) 7 8 func listDirectories(client *srpc.Client) ([]image.Directory, error) { 9 conn, err := client.Call("ImageServer.ListDirectories") 10 if err != nil { 11 return nil, err 12 } 13 defer conn.Close() 14 directories := make([]image.Directory, 0) 15 for { 16 var directory image.Directory 17 if err := conn.Decode(&directory); err != nil { 18 return nil, err 19 } 20 if directory.Name == "" { 21 break 22 } 23 directories = append(directories, directory) 24 } 25 return directories, nil 26 }