ifm3d
schema.h
1 // -*- c++ -*-
2 /*
3  * Copyright 2018-present ifm electronic, gmbh
4  * Copyright 2017 Love Park Robotics, LLC
5  * SPDX-License-Identifier: Apache-2.0
6  */
7 
8 #ifndef IFM3D_FG_SCHEMA_H
9 #define IFM3D_FG_SCHEMA_H
10 
11 #include <cstdint>
12 #include <string>
13 #include <set>
14 #include <ifm3d/fg/frame_grabber_export.h>
15 #include <ifm3d/device/device.h>
16 #include <ifm3d/fg/frame.h>
17 #include <ifm3d/device/semver.h>
18 
19 namespace ifm3d
20 {
21 
28  IFM3D_FRAME_GRABBER_EXPORT json
29  make_schema(const std::set<ifm3d::buffer_id>& buffer_ids,
30  ifm3d::Device::device_family device_type);
31 
39  IFM3D_FRAME_GRABBER_EXPORT json
40  make_o3x_json_from_mask(const std::set<ifm3d::buffer_id>& chunk_ids);
41 
48  IFM3D_FRAME_GRABBER_EXPORT json
49  make_o3r_schema_compatible_with_firmware(const json& o3r_schema,
50  const ifm3d::SemVer& ver);
51 
61  IFM3D_FRAME_GRABBER_EXPORT std::uint32_t schema_mask_from_string(
62  const std::string& in);
63 
64 } // end: namespace ifm3d
65 
66 #endif // IFM3D_FG_SCHEMA_H
ifm3d::SemVer
Definition: semver.h:19