Viam C++ SDK current
Loading...
Searching...
No Matches
data_client.hpp
1#pragma once
2
3#include <cstdint>
4
5#include <memory>
6#include <string>
7#include <vector>
8
9#include <boost/optional.hpp>
10
11#include <viam/sdk/app/viam_client.hpp>
12
13namespace viam {
14namespace sdk {
15
17 public:
18 enum class TabularDataSourceType { k_standard, k_hot_storage, k_pipeline_sink };
19
23 TabularDataSourceType src_type = TabularDataSourceType::k_hot_storage;
24
26 boost::optional<std::string> pipeline_id;
27
29 boost::optional<std::string> query_prefix;
30 };
31
32 using BSONBytes = std::vector<uint8_t>;
33
34 static DataClient from_viam_client(const ViamClient&);
35
36 DataClient(DataClient&&) = default;
37
38 DataClient& operator=(DataClient&&) = default;
39
41
42 const ViamChannel& channel() const;
43
50 std::vector<BSONBytes> tabular_data_by_mql(const std::string& org_id,
51 const std::vector<BSONBytes>& mql_binary,
52 const tabular_data_by_mql_opts& opts);
53
55 std::vector<BSONBytes> tabular_data_by_mql(const std::string& org_id,
56 const std::vector<BSONBytes>& mql_binary);
57
58 private:
59 DataClient(const ViamChannel& channel);
60
61 struct impl;
62
63 std::unique_ptr<impl> pimpl_;
64};
65
66} // namespace sdk
67} // namespace viam
Definition data_client.hpp:16
std::vector< BSONBytes > tabular_data_by_mql(const std::string &org_id, const std::vector< BSONBytes > &mql_binary)
Convenience overload with default options.
std::vector< BSONBytes > tabular_data_by_mql(const std::string &org_id, const std::vector< BSONBytes > &mql_binary, const tabular_data_by_mql_opts &opts)
Request tabular data using an MQL query.
Definition dial.hpp:25
Definition viam_client.hpp:6
Options which are passed to a tabular_data_by_mql request.
Definition data_client.hpp:21
boost::optional< std::string > query_prefix
Used to specify a saved query to run.
Definition data_client.hpp:29
TabularDataSourceType src_type
Source type for the query.
Definition data_client.hpp:23
boost::optional< std::string > pipeline_id
Pipeline ID for requests with pipeline sink source type.
Definition data_client.hpp:26