Banuba SDK
helpers.hpp
1 #pragma once
2 
13 
14 #include <functional>
15 #include <memory>
16 
17 namespace bnb
18 {
19  //
20  // Convenient C++ methods for creating interface implementations from std::functions
21  //
22 
23  using error_listener_callback = std::function<void(const std::string&, const std::string&)>;
24  using camera_poi_callback = std::function<void(float x, float y)>;
25  using effect_event_callback = std::function<void(
26  const std::string&, const std::unordered_map<std::string, std::string>&
27  )>;
28  using face_number_callback = std::function<void(int32_t)>;
29  using frame_duration_callback = std::function<void(float, float)>;
30  using hint_callback = std::function<void(const std::string&)>;
31  using low_light_callback = std::function<void(bool)>;
32  using frame_data_callback = std::function<void(const std::shared_ptr<interfaces::frame_data>&)>;
33  using effect_activated_callback = std::function<void(const std::string&)>;
34  using effect_info_callback = std::function<void(const interfaces::effect_info&)>;
35 
36  std::shared_ptr<interfaces::error_listener>
37  make_error_listener(const error_listener_callback& callback);
38 
39  std::shared_ptr<interfaces::camera_poi_listener>
40  make_camera_poi_listener(const camera_poi_callback& callback);
41 
42  std::shared_ptr<interfaces::effect_event_listener>
43  make_effect_event_listener(const effect_event_callback& callback);
44 
45  std::shared_ptr<interfaces::face_number_listener>
46  make_face_number_listener(const face_number_callback& callback);
47 
48  std::shared_ptr<interfaces::frame_duration_listener> make_frame_duration_listener(
49  const frame_duration_callback& recognizer_callback,
50  const frame_duration_callback& camera_callback,
51  const frame_duration_callback& render_callback
52  );
53 
54  std::shared_ptr<interfaces::hint_listener> make_hint_listener(const hint_callback& callback);
55 
56  std::shared_ptr<interfaces::frame_data_listener>
57  make_frame_data_listener(const frame_data_callback& callback);
58 
59  std::shared_ptr<interfaces::effect_activated_listener>
60  make_effect_activated_listener(const effect_activated_callback& callback);
61 
62  std::shared_ptr<interfaces::effect_info_listener>
63  make_effect_info_listener(const effect_info_callback& callback);
64 } // namespace bnb
camera_poi_listener.hpp
frame_data_listener.hpp
frame_duration_listener.hpp
effect_info.hpp
hint_listener.hpp
effect_info_listener.hpp
effect_event_listener.hpp
effect_activated_listener.hpp
face_number_listener.hpp
error_listener.hpp