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#include <viam/api/component/arm/v1/arm.pb.h>
8
11#include <viam/sdk/resource/resource_server_base.hpp>
12
13namespace viam {
14namespace sdk {
15namespace impl {
16
20class ArmServer : public ResourceServer, public viam::component::arm::v1::ArmService::Service {
21 public:
22 using interface_type = Arm;
23 using service_type = component::arm::v1::ArmService;
24
25 explicit ArmServer(std::shared_ptr<ResourceManager> manager);
26
27 ::grpc::Status GetEndPosition(
28 ::grpc::ServerContext* context,
29 const ::viam::component::arm::v1::GetEndPositionRequest* request,
30 ::viam::component::arm::v1::GetEndPositionResponse* response) noexcept override;
31
32 ::grpc::Status MoveToPosition(
33 ::grpc::ServerContext* context,
34 const ::viam::component::arm::v1::MoveToPositionRequest* request,
35 ::viam::component::arm::v1::MoveToPositionResponse* response) noexcept override;
36
37 ::grpc::Status GetJointPositions(
38 ::grpc::ServerContext* context,
39 const ::viam::component::arm::v1::GetJointPositionsRequest* request,
40 ::viam::component::arm::v1::GetJointPositionsResponse* response) noexcept override;
41
42 ::grpc::Status MoveToJointPositions(
43 ::grpc::ServerContext* context,
44 const ::viam::component::arm::v1::MoveToJointPositionsRequest* request,
45 ::viam::component::arm::v1::MoveToJointPositionsResponse* response) noexcept override;
46
47 ::grpc::Status MoveThroughJointPositions(
48 ::grpc::ServerContext* context,
49 const ::viam::component::arm::v1::MoveThroughJointPositionsRequest* request,
50 ::viam::component::arm::v1::MoveThroughJointPositionsResponse* response) noexcept override;
51
52 ::grpc::Status Stop(::grpc::ServerContext* context,
53 const ::viam::component::arm::v1::StopRequest* request,
54 ::viam::component::arm::v1::StopResponse* response) noexcept override;
55
56 ::grpc::Status IsMoving(
57 ::grpc::ServerContext* context,
58 const ::viam::component::arm::v1::IsMovingRequest* request,
59 ::viam::component::arm::v1::IsMovingResponse* response) noexcept override;
60
61 ::grpc::Status DoCommand(::grpc::ServerContext* context,
62 const ::viam::common::v1::DoCommandRequest* request,
63 ::viam::common::v1::DoCommandResponse* response) noexcept override;
64
65 ::grpc::Status GetKinematics(
66 ::grpc::ServerContext* context,
67 const ::viam::common::v1::GetKinematicsRequest* request,
68 ::viam::common::v1::GetKinematicsResponse* response) noexcept override;
69
70 ::grpc::Status GetGeometries(
71 ::grpc::ServerContext* context,
72 const ::viam::common::v1::GetGeometriesRequest* request,
73 ::viam::common::v1::GetGeometriesResponse* response) noexcept override;
74};
75
76} // namespace impl
77} // namespace sdk
78} // namespace viam
Defines an Arm component.
An Arm represents a physical robot arm that exists in three-dimensional space.
Definition arm.hpp:26
Definition resource_server_base.hpp:8
gRPC server implementation of an Arm component.
Definition arm_server.hpp:20
Defines a general-purpose resource manager.