Viam C++ SDK current
Loading...
Searching...
No Matches
arm_server.hpp
Go to the documentation of this file.
1
4#pragma once
5
6#include <viam/api/component/arm/v1/arm.grpc.pb.h>
7
10#include <viam/sdk/resource/resource_server_base.hpp>
11
12namespace viam {
13namespace sdk {
14namespace impl {
15
19class ArmServer : public ResourceServer, public viam::component::arm::v1::ArmService::Service {
20 public:
21 using interface_type = Arm;
22 using service_type = component::arm::v1::ArmService;
23
24 explicit ArmServer(std::shared_ptr<ResourceManager> manager);
25
26 ::grpc::Status GetEndPosition(
27 ::grpc::ServerContext* context,
28 const ::viam::component::arm::v1::GetEndPositionRequest* request,
29 ::viam::component::arm::v1::GetEndPositionResponse* response) noexcept override;
30
31 ::grpc::Status MoveToPosition(
32 ::grpc::ServerContext* context,
33 const ::viam::component::arm::v1::MoveToPositionRequest* request,
34 ::viam::component::arm::v1::MoveToPositionResponse* response) noexcept override;
35
36 ::grpc::Status GetJointPositions(
37 ::grpc::ServerContext* context,
38 const ::viam::component::arm::v1::GetJointPositionsRequest* request,
39 ::viam::component::arm::v1::GetJointPositionsResponse* response) noexcept override;
40
41 ::grpc::Status MoveToJointPositions(
42 ::grpc::ServerContext* context,
43 const ::viam::component::arm::v1::MoveToJointPositionsRequest* request,
44 ::viam::component::arm::v1::MoveToJointPositionsResponse* response) noexcept override;
45
46 ::grpc::Status MoveThroughJointPositions(
47 ::grpc::ServerContext* context,
48 const ::viam::component::arm::v1::MoveThroughJointPositionsRequest* request,
49 ::viam::component::arm::v1::MoveThroughJointPositionsResponse* response) noexcept override;
50
51 ::grpc::Status MoveThroughJointPositionsStreamed(
52 ::grpc::ServerContext* context,
53 ::grpc::ServerReaderWriter<
54 ::viam::component::arm::v1::MoveThroughJointPositionsStreamedResponse,
55 ::viam::component::arm::v1::MoveThroughJointPositionsStreamedRequest>* stream) noexcept
56 override;
57
58 ::grpc::Status Stop(::grpc::ServerContext* context,
59 const ::viam::component::arm::v1::StopRequest* request,
60 ::viam::component::arm::v1::StopResponse* response) noexcept override;
61
62 ::grpc::Status IsMoving(
63 ::grpc::ServerContext* context,
64 const ::viam::component::arm::v1::IsMovingRequest* request,
65 ::viam::component::arm::v1::IsMovingResponse* response) noexcept override;
66
67 ::grpc::Status DoCommand(::grpc::ServerContext* context,
68 const ::viam::common::v1::DoCommandRequest* request,
69 ::viam::common::v1::DoCommandResponse* response) noexcept override;
70
71 ::grpc::Status GetStatus(::grpc::ServerContext* context,
72 const ::viam::common::v1::GetStatusRequest* request,
73 ::viam::common::v1::GetStatusResponse* response) noexcept override;
74
75 ::grpc::Status GetKinematics(
76 ::grpc::ServerContext* context,
77 const ::viam::common::v1::GetKinematicsRequest* request,
78 ::viam::common::v1::GetKinematicsResponse* response) noexcept override;
79
80 ::grpc::Status Get3DModels(::grpc::ServerContext* context,
81 const ::viam::common::v1::Get3DModelsRequest* request,
82 ::viam::common::v1::Get3DModelsResponse* response) noexcept override;
83
84 ::grpc::Status GetGeometries(
85 ::grpc::ServerContext* context,
86 const ::viam::common::v1::GetGeometriesRequest* request,
87 ::viam::common::v1::GetGeometriesResponse* response) noexcept override;
88};
89
90} // namespace impl
91} // namespace sdk
92} // namespace viam
Defines an Arm component.
An Arm represents a physical robot arm that exists in three-dimensional space.
Definition arm.hpp:46
Definition resource_server_base.hpp:8
gRPC server implementation of an Arm component.
Definition arm_server.hpp:19
Defines a general-purpose resource manager.