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