| //////////////////////////////////////////////////////////////////////////////// |
| // Do not modify! |
| // Generated by codergen |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| package service |
| |
| import ( |
| "fmt" |
| "io" |
| |
| "android.googlesource.com/platform/tools/gpu/framework/binary" |
| "android.googlesource.com/platform/tools/gpu/framework/log" |
| "android.googlesource.com/platform/tools/gpu/framework/rpc" |
| ) |
| |
| // Server is the server interface for service calls. |
| type Server interface { |
| // Server exposes all the service interface methods. |
| Debug |
| Service |
| } |
| |
| // BindServer starts a service on the stream s, delegating all RPC calls on to server. |
| func BindServer(ctx log.Context, s io.ReadWriteCloser, mtu int, server Server) { |
| rpc.Serve(ctx, s, mtu, Handler(server)) |
| } |
| |
| // Handler returns an rpc.Handler wrapping the given server. |
| func Handler(server Server) rpc.Handler { |
| return 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 { |
| if err != nil { |
| ctx.Tag("rpc").LogError(err) |
| } |
| } 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: |
| err := server.BeginCPUProfile(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultBeginCPUProfile{}, nil |
| case *callEndCPUProfile: |
| res, err := server.EndCPUProfile(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultEndCPUProfile{value: res}, nil |
| case *callGetMemProfileRate: |
| res, err := server.GetMemProfileRate(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetMemProfileRate{value: res}, nil |
| case *callGetPerformanceCounters: |
| res, err := server.GetPerformanceCounters(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetPerformanceCounters{value: res}, nil |
| case *callGetProfile: |
| res, err := server.GetProfile(ctx, call.name, call.debug); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetProfile{value: res}, nil |
| case *callSetMemProfileRate: |
| err := server.SetMemProfileRate(ctx, call.rate); |
| if err != nil { |
| return nil, err |
| } |
| return &resultSetMemProfileRate{}, nil |
| case *callFollow: |
| res, err := server.Follow(ctx, call.p); |
| if err != nil { |
| return nil, err |
| } |
| return &resultFollow{value: res}, nil |
| case *callGet: |
| res, err := server.Get(ctx, call.p); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGet{value: res}, nil |
| case *callGetAvailableStringTables: |
| res, err := server.GetAvailableStringTables(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetAvailableStringTables{value: res}, nil |
| case *callGetCaptures: |
| res, err := server.GetCaptures(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetCaptures{value: res}, nil |
| case *callGetDevices: |
| res, err := server.GetDevices(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetDevices{value: res}, nil |
| case *callGetFeatures: |
| res, err := server.GetFeatures(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetFeatures{value: res}, nil |
| case *callGetFramebufferAttachment: |
| res, err := server.GetFramebufferAttachment(ctx, call.device, call.after, call.attachment, call.settings); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetFramebufferAttachment{value: res}, nil |
| case *callGetFramebufferColor: |
| res, err := server.GetFramebufferColor(ctx, call.device, call.after, call.settings); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetFramebufferColor{value: res}, nil |
| case *callGetFramebufferDepth: |
| res, err := server.GetFramebufferDepth(ctx, call.device, call.after); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetFramebufferDepth{value: res}, nil |
| case *callGetSchema: |
| res, err := server.GetSchema(ctx); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetSchema{value: res}, nil |
| case *callGetStringTable: |
| res, err := server.GetStringTable(ctx, call.info); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetStringTable{value: res}, nil |
| case *callGetTimingInfo: |
| res, err := server.GetTimingInfo(ctx, call.device, call.capture, call.flags); |
| if err != nil { |
| return nil, err |
| } |
| return &resultGetTimingInfo{value: res}, nil |
| case *callImportCapture: |
| res, err := server.ImportCapture(ctx, call.name, call.Data); |
| if err != nil { |
| return nil, err |
| } |
| return &resultImportCapture{value: res}, nil |
| case *callLoadCapture: |
| res, err := server.LoadCapture(ctx, call.path); |
| if err != nil { |
| return nil, err |
| } |
| return &resultLoadCapture{value: res}, nil |
| case *callRegisterAndroidDevice: |
| res, err := server.RegisterAndroidDevice(ctx, call.serial); |
| if err != nil { |
| return nil, err |
| } |
| return &resultRegisterAndroidDevice{value: res}, nil |
| case *callSet: |
| res, err := server.Set(ctx, call.p, call.v); |
| if err != nil { |
| return nil, err |
| } |
| return &resultSet{value: res}, nil |
| default: |
| return nil, &rpc.ErrUnknownFunction{Function: ty} |
| } |
| } |
| } |