4#include <unordered_map>
6#include <boost/optional.hpp>
8#include <viam/sdk/common/proto_convert.hpp>
9#include <viam/sdk/common/proto_value.hpp>
11#include <viam/sdk/referenceframe/frame.hpp>
12#include <viam/sdk/resource/resource_api.hpp>
19class ResourceLevelServiceConfig;
28class DiscoverResourcesResponse;
39 ProtoStruct attributes;
47 std::string namespace_,
48 ProtoStruct attributes,
55 std::string namespace_,
56 ProtoStruct attributes,
66 const API& api()
const;
68 const boost::optional<LinkConfig>& frame()
const;
70 const Model& model()
const;
72 const std::string& name()
const;
73 const std::string& namespace_()
const;
74 const std::string& type()
const;
78 const std::vector<std::string>& depends_on()
const;
80 const std::vector<ResourceLevelServiceConfig>& service_config()
const;
82 const ProtoStruct& attributes()
const;
89 boost::optional<LinkConfig> frame_;
94 std::string namespace__;
97 std::vector<std::string> depends_on_;
99 std::vector<ResourceLevelServiceConfig> service_config_;
101 ProtoStruct attributes_;
104 std::vector<std::string> implicit_depends_on_;
109namespace proto_convert_details {
118 void operator()(
const ResourceConfig&, app::v1::ComponentConfig*)
const;
128 std::vector<ResourceConfig> operator()(
129 const service::discovery::v1::DiscoverResourcesResponse*)
const;
Definition resource_api.hpp:21
Defines the namespace_, family, and name for a particular resource model.
Definition resource_api.hpp:125
A name for specific instances of resources.
Definition resource_api.hpp:61
Type-erased value for storing google::protobuf::Value types. A ProtoValue can be nullptr,...
Definition proto_value.hpp:55
Definition resource.hpp:43
log_level
Severity levels for the logger.
Definition logging.hpp:30
Defines logging infrastructure.
Definition resource.hpp:37
Definition proto_convert.hpp:24
Definition proto_convert.hpp:18