blob: a2696b812e4356feab8d1a1579a4290ba3de5e67 [file] [log] [blame]
////////////////////////////////////////////////////////////////////////////////
// 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}
}
})
}