Viam C++ SDK current
Loading...
Searching...
No Matches
impl.hpp
1#pragma once
2
3#include <vector>
4
5#include <viam/sdk/common/proto_value.hpp>
6
7#include "api.hpp"
8
9using namespace viam::sdk;
10
11// MyGizmo inherits from the `Gizmo` class defined in `api.hpp` and implements
12// all relevant methods. It also specifies a static `validate` method that
13// checks config validity.
14class MyGizmo : public Gizmo {
15 public:
16 MyGizmo(std::string name, std::string arg1) : Gizmo(std::move(name)), arg1_(std::move(arg1)) {}
17 MyGizmo(const Dependencies& deps, const ResourceConfig& cfg);
18 static std::vector<std::string> validate(ResourceConfig cfg);
19
20 bool do_one(std::string arg1) override;
21 bool do_one_client_stream(std::vector<std::string> arg1) override;
22 std::vector<bool> do_one_server_stream(std::string arg1) override;
23 std::vector<bool> do_one_bidi_stream(std::vector<std::string> arg1) override;
24 std::string do_two(bool arg1) override;
25
26 private:
27 std::string arg1_;
28};
Definition api.hpp:19
Definition impl.hpp:14
Definition resource.hpp:43
virtual std::string name() const
Return the resource's name.