4#include <unordered_map>
6#include <viam/sdk/common/proto_convert.hpp>
7#include <viam/sdk/common/proto_value.hpp>
9#include <viam/sdk/referenceframe/frame.hpp>
10#include <viam/sdk/resource/resource_api.hpp>
17class ResourceLevelServiceConfig;
26class DiscoverResourcesResponse;
37 ProtoStruct attributes;
45 std::string namespace_,
46 ProtoStruct attributes,
56 const API& api()
const;
60 const Model& model()
const;
62 const std::string& name()
const;
63 const std::string& namespace_()
const;
64 const std::string& type()
const;
68 const std::vector<std::string>& depends_on()
const;
70 const std::vector<ResourceLevelServiceConfig>& service_config()
const;
72 const ProtoStruct& attributes()
const;
84 std::string namespace__;
87 std::vector<std::string> depends_on_;
89 std::vector<ResourceLevelServiceConfig> service_config_;
91 ProtoStruct attributes_;
94 std::vector<std::string> implicit_depends_on_;
99namespace proto_convert_details {
108 void operator()(
const ResourceConfig&, app::v1::ComponentConfig*)
const;
118 std::vector<ResourceConfig> operator()(
119 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:41
log_level
Severity levels for the logger.
Definition logging.hpp:30
Defines logging infrastructure.
Definition resource.hpp:35
Definition proto_convert.hpp:24
Definition proto_convert.hpp:18