Viam C++ SDK current
Loading...
Searching...
No Matches
motion_server.hpp
1
4#pragma once
5
6#include <memory>
7
8#include <viam/api/service/motion/v1/motion.grpc.pb.h>
9
11#include <viam/sdk/resource/resource_server_base.hpp>
13#include <viam/sdk/services/motion.hpp>
14
15namespace viam {
16namespace sdk {
17namespace impl {
18
23 public viam::service::motion::v1::MotionService::Service {
24 public:
25 using interface_type = Motion;
26 using service_type = service::motion::v1::MotionService;
27 explicit MotionServer(std::shared_ptr<ResourceManager> manager);
28
29 ::grpc::Status Move(::grpc::ServerContext* context,
30 const ::viam::service::motion::v1::MoveRequest* request,
31 ::viam::service::motion::v1::MoveResponse* response) noexcept override;
32 ::grpc::Status MoveOnMap(
33 ::grpc::ServerContext* context,
34 const ::viam::service::motion::v1::MoveOnMapRequest* request,
35 ::viam::service::motion::v1::MoveOnMapResponse* response) noexcept override;
36 ::grpc::Status MoveOnGlobe(
37 ::grpc::ServerContext* context,
38 const ::viam::service::motion::v1::MoveOnGlobeRequest* request,
39 ::viam::service::motion::v1::MoveOnGlobeResponse* response) noexcept override;
40 ::grpc::Status GetPose(
41 ::grpc::ServerContext* context,
42 const ::viam::service::motion::v1::GetPoseRequest* request,
43 ::viam::service::motion::v1::GetPoseResponse* response) noexcept override;
44 ::grpc::Status GetPlan(
45 ::grpc::ServerContext* context,
46 const ::viam::service::motion::v1::GetPlanRequest* request,
47 ::viam::service::motion::v1::GetPlanResponse* response) noexcept override;
48 ::grpc::Status ListPlanStatuses(
49 ::grpc::ServerContext* context,
50 const ::viam::service::motion::v1::ListPlanStatusesRequest* request,
51 ::viam::service::motion::v1::ListPlanStatusesResponse* response) noexcept override;
52 ::grpc::Status StopPlan(
53 ::grpc::ServerContext* context,
54 const ::viam::service::motion::v1::StopPlanRequest* request,
55 ::viam::service::motion::v1::StopPlanResponse* response) noexcept override;
56 ::grpc::Status DoCommand(::grpc::ServerContext* context,
57 const ::viam::common::v1::DoCommandRequest* request,
58 ::viam::common::v1::DoCommandResponse* response) noexcept override;
59};
60
61} // namespace impl
62} // namespace sdk
63} // namespace viam
The Motion service coordinates motion planning across all components of a given robot....
Definition motion.hpp:68
Definition resource_server_base.hpp:8
gRPC server implementation of a Motion service.
Definition motion_server.hpp:23
Defines a general-purpose resource manager.
Defines the Server class.