| //////////////////////////////////////////////////////////////////////////////// |
| // Do not modify! |
| // Generated by codergen |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| package service |
| |
| import ( |
| "fmt" |
| "io" |
| |
| "android.googlesource.com/platform/tools/gpu/binary" |
| "android.googlesource.com/platform/tools/gpu/log" |
| "android.googlesource.com/platform/tools/gpu/rpc" |
| ) |
| |
| // Server is the server interface for service calls. |
| type Server interface { |
| // Server exposes all the service interface methods. |
| Debug |
| Service |
| } |
| |
| func BindServer(ctx log.Context, r io.Reader, w io.Writer, c io.Closer, mtu int, server Server) { |
| rpc.Serve(ctx, r, w, c, mtu, func(ctx log.Context, in interface{}) (res binary.Object, err error) { |
| ty := fmt.Sprintf("%T", in) |
| ctx = ctx.Enter(ty) |
| defer func() { |
| if r := recover(); r == nil { |
| ctx.Info().Tag("rpc").WithValue("result", res).Log("") |
| } else { |
| var ok bool |
| if err, ok = r.(error); !ok { |
| err = fmt.Errorf("%v", r) |
| } |
| ctx.Fail(err, "") |
| err = &rpc.ErrPanic{Msg: err.Error()} |
| } |
| }() |
| switch call := in.(type) { |
| case *callBeginCPUProfile: |
| if err := server.BeginCPUProfile(ctx); err == nil { |
| return &resultBeginCPUProfile{}, nil |
| } else { |
| return nil, err |
| } |
| case *callEndCPUProfile: |
| if res, err := server.EndCPUProfile(ctx); err == nil { |
| return &resultEndCPUProfile{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callFollow: |
| if res, err := server.Follow(ctx, call.p); err == nil { |
| return &resultFollow{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGet: |
| if res, err := server.Get(ctx, call.p); err == nil { |
| return &resultGet{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGetCaptures: |
| if res, err := server.GetCaptures(ctx); err == nil { |
| return &resultGetCaptures{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGetDevices: |
| if res, err := server.GetDevices(ctx); err == nil { |
| return &resultGetDevices{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGetFeatures: |
| if res, err := server.GetFeatures(ctx); err == nil { |
| return &resultGetFeatures{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGetFramebufferColor: |
| if res, err := server.GetFramebufferColor(ctx, call.device, call.after, call.settings); err == nil { |
| return &resultGetFramebufferColor{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGetFramebufferDepth: |
| if res, err := server.GetFramebufferDepth(ctx, call.device, call.after); err == nil { |
| return &resultGetFramebufferDepth{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGetSchema: |
| if res, err := server.GetSchema(ctx); err == nil { |
| return &resultGetSchema{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callGetTimingInfo: |
| if res, err := server.GetTimingInfo(ctx, call.device, call.capture, call.flags); err == nil { |
| return &resultGetTimingInfo{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callImportCapture: |
| if res, err := server.ImportCapture(ctx, call.name, call.Data); err == nil { |
| return &resultImportCapture{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callLoadCapture: |
| if res, err := server.LoadCapture(ctx, call.path); err == nil { |
| return &resultLoadCapture{value: res}, nil |
| } else { |
| return nil, err |
| } |
| case *callSet: |
| if res, err := server.Set(ctx, call.p, call.v); err == nil { |
| return &resultSet{value: res}, nil |
| } else { |
| return nil, err |
| } |
| default: |
| return nil, &rpc.ErrUnknownFunction{Function: ty} |
| } |
| }) |
| } |