/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. /// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary> /// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param> /// <param name="serviceImpl">An object implementing the server-side handling logic.</param> public static void BindService(grpc::ServiceBinderBase serviceBinder, SingleAxisBase serviceImpl) { serviceBinder.AddMethod(__Method_ScanDevices, serviceImpl == null ? null : new grpc::ServerStreamingServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.ScanDevicesRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.ScanDevicesResponse>(serviceImpl.ScanDevices)); serviceBinder.AddMethod(__Method_Initialize, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.InitializeRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.InitializeResponse>(serviceImpl.Initialize)); serviceBinder.AddMethod(__Method_Shutdown, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.ShutdownRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.ShutdownResponse>(serviceImpl.Shutdown)); serviceBinder.AddMethod(__Method_HomeMotor, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.HomeMotorRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.Position>(serviceImpl.HomeMotor)); serviceBinder.AddMethod(__Method_GetRange, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.GetRangeRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.StageRange>(serviceImpl.GetRange)); serviceBinder.AddMethod(__Method_GetPosition, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.GetPositionRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.Position>(serviceImpl.GetPosition)); serviceBinder.AddMethod(__Method_MoveAbsolute, serviceImpl == null ? null : new grpc::ServerStreamingServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.MoveAbsoluteRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.Position>(serviceImpl.MoveAbsolute)); serviceBinder.AddMethod(__Method_MoveRelative, serviceImpl == null ? null : new grpc::ServerStreamingServerMethod <global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.MoveRelativeRequest, global::Instrosetta.Interfaces.MotionControl.Singleaxis.V1.Position>(serviceImpl.MoveRelative)); }
/// <summary>Creates service definition that can be registered with a server</summary> /// <param name="serviceImpl">An object implementing the server-side handling logic.</param> public static grpc::ServerServiceDefinition BindService(SingleAxisBase serviceImpl) { return(grpc::ServerServiceDefinition.CreateBuilder() .AddMethod(__Method_ScanDevices, serviceImpl.ScanDevices) .AddMethod(__Method_Initialize, serviceImpl.Initialize) .AddMethod(__Method_Shutdown, serviceImpl.Shutdown) .AddMethod(__Method_HomeMotor, serviceImpl.HomeMotor) .AddMethod(__Method_GetRange, serviceImpl.GetRange) .AddMethod(__Method_GetPosition, serviceImpl.GetPosition) .AddMethod(__Method_MoveAbsolute, serviceImpl.MoveAbsolute) .AddMethod(__Method_MoveRelative, serviceImpl.MoveRelative).Build()); }