#ifndef DEPTHGUIDE_ORB_CAMERA_UI_IMPL_H #define DEPTHGUIDE_ORB_CAMERA_UI_IMPL_H #include "device/orb_camera.h" #include "device/orb_camera_ui.h" #include using boost::asio::io_context; struct orb_camera_ui::impl { io_context *ctx = nullptr; orb_camera::device_info_list_type dev_info_list; int dev_index = 0; struct video_conf_type { int index = 0; std::string dis_name; }; std::vector c_conf_list; std::vector d_conf_list; int c_conf_index = 0; // index of c_conf_list int d_conf_index = 0; orb_camera::create_config cam_c_conf; orb_camera::start_config cam_s_conf; std::unique_ptr cam; bool enable_pc = true; explicit impl(create_config conf); void refresh_dev_info_list(); void refresh_d_conf_list(); void open_camera(); void start_camera(); void show_config(); void show(); }; #endif //DEPTHGUIDE_ORB_CAMERA_UI_IMPL_H