182 std::vector<ob2_device_installation_info_t> device_info_list;
183 for(uint32_t index = 0; index < count; index++) {
186 device_info_list.push_back(device_info);
188 return device_info_list;
222 return std::make_shared<device>(std::move(device_handle));
251 return std::make_shared<device>(std::move(device_handle));
284 return std::make_shared<device>(std::move(device_handle));
313 virtual std::shared_ptr<device>
open_net_device(
const std::string &address, uint16_t port = 8090) {
317 return std::make_shared<device>(std::move(device_handle));
378 auto ctx = (
context *)user_data;
379 if(ctx->m_device_installed_callback !=
nullptr) {
380 ctx->m_device_installed_callback(device_info);
385 auto ctx = (
context *)user_data;
386 if(ctx->m_device_removed_callback !=
nullptr) {
387 ctx->m_device_removed_callback(device_info);
#define CHECK_OB2_STATUS_ERROR_THROW(status)
用于将 C API 中的 ob2_status_t 转换成异常抛出
SDK context (上下文),用于 SDK 的生命周期管理,SDK 内部所有模块的加载及初始化,线程创建都依赖 context 的创建。
static void device_installed_callback(ob2_device_installation_info_t device_info, void *user_data)
virtual std::shared_ptr< device > open_device(uint32_t index)
通过索引号打开设备
static void set_log_output_directory(const std::string &directory)
设置日志输出文件目录
static ob2_version_t get_version() noexcept
获取 SDK 版本号
static void device_removed_callback(ob2_device_installation_info_t device_info, void *user_data)
device_info_cb m_device_removed_callback
virtual std::shared_ptr< device > open_device_by_serial_number(const std::string &serial_number)
通过序列号打开设备
virtual std::shared_ptr< device > open_net_device(const std::string &address, uint16_t port=8090)
打开网络设备
ob2_context_t m_context_handle
virtual ~context() noexcept
Context 析构函数
context(std::string config_file_path=OB2_DEFAULT_SDK_CONFIG_FILE_PATH)
context 构造函数
static void set_log_severity_threshold(ob2_logger_type_t logger_type, ob2_log_severity_t severity)
设置日志等级
device_info_cb m_device_installed_callback
virtual void set_device_removed_callback(device_info_cb cb)
设置设备移除(掉线)回调
virtual std::vector< ob2_device_installation_info_t > get_installed_device_info_list()
获取已安装的设备信息列表
virtual std::shared_ptr< device > open_device_by_url(const std::string &url)
通过 URL 打开设备
virtual void set_device_installed_callback(device_info_cb cb)
设置设备安装(上线)回调
static ob2_version_t get_core_version() noexcept
获取 SDK 核心版本号
std::function< void(const ob2_device_installation_info_t &)> device_info_cb
设备信息回调(主要用于设备安装和移除回调)
void ob2_set_log_output_directory(const char *directory, ob2_status_t *status)
设置日志输出文件目录
ob2_version_t ob2_get_core_version(void)
获取 SDK 核心版本号
void ob2_set_log_severity_threshold(ob2_logger_type_t logger_type, ob2_log_severity_t severity, ob2_status_t *status)
设置日志等级
ob2_version_t ob2_get_version(void)
获取 SDK 版本号
void ob2_release_context(ob2_context_t context_handle, ob2_status_t *status)
释放 context
ob2_context_t ob2_create_context_with_config(const char *config_file_path, ob2_status_t *status)
传入配置文件创建 context
void ob2_context_set_device_removed_callback(ob2_context_t context_handle, ob2_device_info_cb_t device_removed_cb, void *user_data, ob2_status_t *status)
设置设备移除(掉线)回调
ob2_device_t ob2_context_open_net_device(ob2_context_t context_handle, const char *address, uint32_t port, ob2_status_t *status)
打开网络设备
ob2_device_t ob2_context_open_device(ob2_context_t context_handle, uint32_t index, ob2_status_t *status)
通过索引号打开设备
ob2_device_installation_info_t ob2_context_get_installed_device_info(ob2_context_t context_handle, uint32_t index, ob2_status_t *status)
通过索引号获取安装设备信息
ob2_device_t ob2_context_open_device_by_url(ob2_context_t context_handle, const char *url, ob2_status_t *status)
通过 URL 打开设备
void ob2_context_set_device_installed_callback(ob2_context_t context_handle, ob2_device_info_cb_t device_installed_cb, void *user_data, ob2_status_t *status)
设置设备安装(上线)回调
ob2_device_t ob2_context_open_device_by_serial_number(ob2_context_t context_handle, const char *serial_number, ob2_status_t *status)
通过序列号打开设备
uint32_t ob2_context_get_installed_device_count(ob2_context_t context_handle, ob2_status_t *status)
获取已安装(上线)的设备数量
#define OB2_DEFAULT_SDK_CONFIG_FILE_PATH
默认 SDK 配置文件路径
struct OB2ContextImpl * ob2_context_t
context 句柄定义