| // GlobName calls __Glob on the given object with the given pattern and returns |
| // a sorted list of matching object names, or an error. |
| func GlobName(ctx *context.T, name, pattern string) ([]string, []naming.GlobError, error) { |
| client := v23.GetClient(ctx) |
| call, err := client.StartCall(ctx, name, ipc.GlobMethod, []interface{}{pattern}) |
| globErrors := []naming.GlobError{} |
| var gr naming.VDLGlobReply |
| switch err := call.Recv(&gr); err { |
| case naming.VDLGlobReplyEntry: |
| results = append(results, v.Value.Name) |
| case naming.VDLGlobReplyError: |
| globErrors = append(globErrors, v.Value) |
| if err := call.Finish(); err != nil { |
| return results, globErrors, nil |