Viam C++ SDK current
Loading...
Searching...
No Matches
discovery.hpp
Go to the documentation of this file.
1
4
5#pragma once
6
7#include <string>
8
9#include <viam/sdk/common/utils.hpp>
10#include <viam/sdk/config/resource.hpp>
11#include <viam/sdk/services/service.hpp>
12
13namespace viam {
14namespace sdk {
15
17
25class Discovery : public Service {
26 public:
31 inline std::vector<ResourceConfig> discover_resources() {
32 return discover_resources({});
33 }
34
39 // connected to your viam server
40 virtual std::vector<ResourceConfig> discover_resources(const ProtoStruct& extra) = 0;
41
45 virtual ProtoStruct do_command(const ProtoStruct& command) = 0;
46
47 API api() const override;
48
49 protected:
50 explicit Discovery(std::string name);
51};
52
53template <>
55 static API api();
56};
57
58} // namespace sdk
59} // namespace viam
Definition resource_api.hpp:21
A Discovery service is used to discover resources that are physically connected to your machine.
Definition discovery.hpp:25
API api() const override
Returns the API associated with a particular resource.
virtual ProtoStruct do_command(const ProtoStruct &command)=0
Do an arbitrary command.
virtual std::vector< ResourceConfig > discover_resources(const ProtoStruct &extra)=0
Discover valid viam configuration of resources that are physically connected to your machine.
std::vector< ResourceConfig > discover_resources()
Discover valid viam configuration of resources that are physically connected to your machine.
Definition discovery.hpp:31
virtual std::string name() const
Return the resource's name.
Definition service.hpp:10
Definition resource_api.hpp:46