basic.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package service
  2. import (
  3. "context"
  4. "log/slog"
  5. )
  6. import (
  7. "protocol-server/common"
  8. pb "protocol-server/rpc_idl/dr_protocol_pb"
  9. )
  10. type BasicServer struct {
  11. pb.UnimplementedBasicServer
  12. }
  13. func (s *BasicServer) SoftwareInfo(_ context.Context, in *pb.EmptyRequest) (*pb.SoftwareInfoReply, error) {
  14. slog.Info("Received SoftwareInfo")
  15. return &pb.SoftwareInfoReply{
  16. Module: common.Module,
  17. Desc: common.Desc,
  18. Build: common.Build,
  19. Version: common.Version,
  20. }, nil
  21. }
  22. func (s *BasicServer) GetOptions(_ context.Context, in *pb.OptionRequest) (*pb.OptionReply, error) {
  23. slog.Info("Received GetOptions", "group", in.Group, "flag", in.Flag)
  24. res := pb.OptionReply{}
  25. switch in.GetGroup() {
  26. case "apr_cbo":
  27. switch in.GetFlag() {
  28. case "aec_filed":
  29. for _, v := range common.Opts.AprCbo.AECFiled {
  30. res.Option = append(res.Option, v.Struct())
  31. }
  32. case "compression_force":
  33. for _, v := range common.Opts.AprCbo.CompressionForce {
  34. res.Option = append(res.Option, v.Struct())
  35. }
  36. case "exposure_mode":
  37. for _, v := range common.Opts.AprCbo.ExposureMode {
  38. res.Option = append(res.Option, v.Struct())
  39. }
  40. case "focus":
  41. for _, v := range common.Opts.AprCbo.Focus {
  42. res.Option = append(res.Option, v.Struct())
  43. }
  44. case "grid_types":
  45. for _, v := range common.Opts.AprCbo.GridType {
  46. res.Option = append(res.Option, v.Struct())
  47. }
  48. case "ma":
  49. for _, v := range common.Opts.AprCbo.Ma {
  50. res.Option = append(res.Option, v.Struct())
  51. }
  52. case "ms":
  53. for _, v := range common.Opts.AprCbo.Ms {
  54. res.Option = append(res.Option, v.Struct())
  55. }
  56. }
  57. }
  58. slog.Info("Received Option", "option", &res)
  59. return &res, nil
  60. }