66 other.impl_ =
nullptr;
75 other.impl_ =
nullptr;
102 return std::make_shared<DeviceInfo>(info);
140 return std::make_shared<SensorList>(list);
153 return std::make_shared<Sensor>(sensor);
439 auto device =
static_cast<Device *
>(userData);
440 device->deviceStateChangeCallback_(state, message);
499 return std::make_shared<OBDepthWorkModeList>(list);
643#define timerReset timestampReset
697 return std::make_shared<DevicePresetList>(list);
785 void sendAndReceiveData(
const uint8_t *sendData, uint32_t sendDataSize, uint8_t *receiveData, uint32_t *receiveDataSize)
const {
823 return std::make_shared<DeviceFrameInterleaveList>(list);
835 return std::make_shared<PresetResolutionConfigList>(list);
839 static void firmwareUpdateCallback(
ob_fw_update_state state,
const char *message, uint8_t percent,
void *userData) {
840 auto device =
static_cast<Device *
>(userData);
841 if(device && device->fwUpdateCallback_) {
842 device->fwUpdateCallback_(state, message, percent);
860 return std::make_shared<CameraParamList>(impl);
874 ob_device_info_t *impl_ =
nullptr;
1111 ob_device_list_t *impl_ =
nullptr;
1331 return std::make_shared<Device>(device);
1346 return std::make_shared<Device>(device);
1365 return std::make_shared<Device>(device);
1374 int pid(uint32_t index)
const {
1378 int vid(uint32_t index)
const {
1382 const char *
uid(uint32_t index)
const {
1390 const char *
name(uint32_t index)
const {
1405 ob_depth_work_mode_list_t *impl_ =
nullptr;
1463 ob_device_preset_list_t *impl_ =
nullptr;
1522 ob_camera_param_list_t *impl_ =
nullptr;
1569 ob_device_frame_interleave_list_t *impl_ =
nullptr;
1622 ob_preset_resolution_config_list_t *impl_ =
nullptr;
OB_EXPORT const char * ob_device_get_current_preset_name(const ob_device *device, ob_error **error)
Get the current preset name.
OB_EXPORT bool ob_device_frame_interleave_list_has_frame_interleave(ob_device_frame_interleave_list *frame_interleave_list, const char *frame_interleave_name, ob_error **error)
Check if the interleave ae list has the interleave ae.
OB_EXPORT ob_status ob_device_switch_depth_work_mode(ob_device *device, const ob_depth_work_mode *work_mode, ob_error **error)
Switch the depth work mode by ob_depth_work_mode. Prefer to use ob_device_switch_depth_work_mode_by_n...
OB_EXPORT void ob_device_load_frame_interleave(ob_device *device, const char *frame_interleave_name, ob_error **error)
load the frame interleave mode according to frame interleavee name.
OB_EXPORT ob_depth_work_mode_list * ob_device_get_depth_work_mode_list(const ob_device *device, ob_error **error)
Request the list of supported depth work modes.
OB_EXPORT ob_preset_resolution_config_list * ob_device_get_available_preset_resolution_config_list(ob_device *device, ob_error **error)
OB_EXPORT uint32_t ob_device_preset_list_get_count(const ob_device_preset_list *preset_list, ob_error **error)
Get the number of preset in the preset list.
OB_EXPORT void ob_device_export_current_settings_as_preset_json_data(ob_device *device, const char *presetName, const uint8_t **data, uint32_t *dataSize, ob_error **error)
Export current device settings as a preset json data.
OB_EXPORT void ob_device_load_preset_from_json_file(ob_device *device, const char *json_file_path, ob_error **error)
Load preset from json string.
OB_EXPORT void ob_delete_preset_list(ob_device_preset_list *preset_list, ob_error **error)
Delete the available preset list.
OB_EXPORT void ob_device_export_current_settings_as_preset_json_file(ob_device *device, const char *json_file_path, ob_error **error)
Export current settings as a preset json file.
OB_EXPORT const char * ob_device_frame_interleave_list_get_name(ob_device_frame_interleave_list *frame_interleave_list, uint32_t index, ob_error **error)
Get the name of frame interleave in the frame interleave list.
OB_EXPORT ob_device_frame_interleave_list * ob_device_get_available_frame_interleave_list(ob_device *device, ob_error **error)
Get the available frame interleave list.
OB_EXPORT const char * ob_device_get_current_depth_work_mode_name(const ob_device *device, ob_error **error)
Get current depth mode name.
OB_EXPORT void ob_device_load_preset(ob_device *device, const char *preset_name, ob_error **error)
Get the available preset list.
OB_EXPORT bool ob_device_preset_list_has_preset(const ob_device_preset_list *preset_list, const char *preset_name, ob_error **error)
Check if the preset list has the preset.
OB_EXPORT uint32_t ob_device_frame_interleave_list_get_count(ob_device_frame_interleave_list *frame_interleave_list, ob_error **error)
Get the number of frame interleave in the frame interleave list.
OB_EXPORT OBPresetResolutionConfig ob_device_preset_resolution_config_list_get_item(const ob_preset_resolution_config_list *ob_preset_resolution_config_list, uint32_t index, ob_error **error)
Get the preset resolution in the preset resolution list.
OB_EXPORT ob_depth_work_mode ob_device_get_current_depth_work_mode(const ob_device *device, ob_error **error)
Get the current depth work mode.
OB_EXPORT bool ob_device_is_frame_interleave_supported(const ob_device *device, ob_error **error)
Check if the device supports the frame interleave feature.
OB_EXPORT void ob_delete_preset_resolution_config_list(ob_preset_resolution_config_list *ob_preset_resolution_config_list, ob_error **error)
Delete the available preset resolution list.
OB_EXPORT void ob_delete_frame_interleave_list(ob_device_frame_interleave_list *frame_interleave_list, ob_error **error)
Delete the available frame interleave list.
OB_EXPORT void ob_device_load_preset_from_json_data(ob_device *device, const char *presetName, const uint8_t *data, uint32_t size, ob_error **error)
Load custom preset from data.
OB_EXPORT uint32_t ob_depth_work_mode_list_get_count(const ob_depth_work_mode_list *work_mode_list, ob_error **error)
OB_EXPORT ob_depth_work_mode ob_depth_work_mode_list_get_item(const ob_depth_work_mode_list *work_mode_list, uint32_t index, ob_error **error)
Get the index target of ob_depth_work_mode from work_mode_list.
OB_EXPORT ob_status ob_device_switch_depth_work_mode_by_name(ob_device *device, const char *mode_name, ob_error **error)
Switch the depth work mode by work mode name.
OB_EXPORT void ob_delete_depth_work_mode_list(ob_depth_work_mode_list *work_mode_list, ob_error **error)
Free the resources of ob_depth_work_mode_list.
OB_EXPORT const char * ob_device_preset_list_get_name(const ob_device_preset_list *preset_list, uint32_t index, ob_error **error)
Get the name of the preset in the preset list.
OB_EXPORT ob_device_preset_list * ob_device_get_available_preset_list(const ob_device *device, ob_error **error)
Get the available preset list.
OB_EXPORT uint32_t ob_device_preset_resolution_config_get_count(ob_preset_resolution_config_list *ob_preset_resolution_config_list, ob_error **error)
Device-related functions, including operations such as obtaining and creating a device,...
OB_EXPORT const char * ob_device_list_get_device_local_ip(const ob_device_list *list, uint32_t index, ob_error **error)
Get the IP address of the host network interface corresponding to the network device.
OB_EXPORT ob_device * ob_device_list_get_device(const ob_device_list *list, uint32_t index, ob_error **error)
Create a device.
OB_EXPORT const char * ob_device_info_get_uid(const ob_device_info *info, ob_error **error)
Get device uid.
OB_EXPORT ob_device * ob_device_list_get_device_by_serial_number(const ob_device_list *list, const char *serial_number, ob_error **error)
Create a device.
OB_EXPORT uint32_t ob_device_list_get_count(const ob_device_list *list, ob_error **error)
Get the number of devices.
OB_EXPORT void ob_device_enable_heartbeat(ob_device *device, bool enable, ob_error **error)
Enable or disable the device heartbeat.
OB_EXPORT ob_property_item ob_device_get_supported_property_item(const ob_device *device, uint32_t index, ob_error **error)
Get the type of property supported by the device.
OB_EXPORT void ob_device_set_structured_data(ob_device *device, ob_property_id property_id, const uint8_t *data, uint32_t data_size, ob_error **error)
Set structured data.
OB_EXPORT void ob_device_reboot(ob_device *device, ob_error **error)
Device reboot.
OB_EXPORT void ob_device_set_int_property(ob_device *device, ob_property_id property_id, int32_t value, ob_error **error)
Set an integer type of device property.
OB_EXPORT const char * ob_device_list_get_device_subnet_mask(const ob_device_list *list, uint32_t index, ob_error **error)
Get device subnet mask.
OB_EXPORT int ob_device_info_get_vid(const ob_device_info *info, ob_error **error)
Get device vid.
OB_EXPORT ob_device_state ob_device_get_device_state(const ob_device *device, ob_error **error)
Get the current device status.
OB_EXPORT const char * ob_device_info_get_name(const ob_device_info *info, ob_error **error)
Get device name.
OB_EXPORT bool ob_device_is_global_timestamp_supported(const ob_device *device, ob_error **error)
Check if the device supports global timestamp.
OB_EXPORT const char * ob_device_info_get_subnet_mask(const ob_device_info *info, ob_error **error)
Get the network device subnet mask.
OB_EXPORT ob_float_property_range ob_device_get_float_property_range(ob_device *device, ob_property_id property_id, ob_error **error)
Get the float type of device property range.
OB_EXPORT const char * ob_device_info_get_asicName(const ob_device_info *info, ob_error **error)
Get the chip name.
OB_EXPORT const char * ob_device_info_get_supported_min_sdk_version(const ob_device_info *info, ob_error **error)
Get the minimum SDK version number supported by the device.
OB_EXPORT uint8_t ob_device_list_get_device_local_subnet_length(const ob_device_list *list, uint32_t index, ob_error **error)
Get the subnet length of the host network interface corresponding to the network device.
OB_EXPORT const char * ob_device_list_get_device_local_mac(const ob_device_list *list, uint32_t index, ob_error **error)
Get the MAC address of the host network interface corresponding to the network device.
OB_EXPORT bool ob_device_get_bool_property(ob_device *device, ob_property_id property_id, ob_error **error)
Get a boolean type of device property.
OB_EXPORT const char * ob_device_get_extension_info(const ob_device *device, const char *info_key, ob_error **error)
Get the device extension information.
OB_EXPORT uint32_t ob_device_get_supported_property_count(const ob_device *device, ob_error **error)
Get the number of properties supported by the device.
OB_EXPORT void ob_delete_device_info(ob_device_info *info, ob_error **error)
Delete device information.
OB_EXPORT const char * ob_device_info_get_connection_type(const ob_device_info *info, ob_error **error)
Get the device connection type.
OB_EXPORT int ob_device_list_get_device_vid(const ob_device_list *list, uint32_t index, ob_error **error)
Get the vid of the specified device.
OB_EXPORT const char * ob_device_list_get_device_name(const ob_device_list *list, uint32_t index, ob_error **error)
Get device name.
OB_EXPORT int ob_device_info_get_pid(const ob_device_info *info, ob_error **error)
Get device pid.
OB_EXPORT bool ob_device_is_property_supported(const ob_device *device, ob_property_id property_id, ob_permission_type permission, ob_error **error)
Check if a device property permission is supported.
OB_EXPORT void ob_device_set_float_property(ob_device *device, ob_property_id property_id, float value, ob_error **error)
Set a float type of device property.
OB_EXPORT ob_camera_param ob_camera_param_list_get_param(ob_camera_param_list *param_list, uint32_t index, ob_error **error)
Get camera parameters from the camera parameter list.
OB_EXPORT void ob_device_write_customer_data(ob_device *device, const void *data, uint32_t data_size, ob_error **error)
Set customer data.
OB_EXPORT ob_int_property_range ob_device_get_int_property_range(ob_device *device, ob_property_id property_id, ob_error **error)
Get the integer type of device property range.
OB_EXPORT ob_sensor * ob_device_get_sensor(ob_device *device, ob_sensor_type type, ob_error **error)
Get a device's sensor.
OB_EXPORT ob_camera_param_list * ob_device_get_calibration_camera_param_list(ob_device *device, ob_error **error)
Get the original parameter list of camera calibration saved on the device.
OB_EXPORT bool ob_device_is_extension_info_exist(const ob_device *device, const char *info_key, ob_error **error)
Check if the device extension information exists.
OB_EXPORT void ob_delete_camera_param_list(ob_camera_param_list *param_list, ob_error **error)
Delete the camera parameter list.
OB_EXPORT const char * ob_device_info_get_hardware_version(const ob_device_info *info, ob_error **error)
Get the hardware version number.
OB_EXPORT const char * ob_device_list_get_device_serial_number(const ob_device_list *list, uint32_t index, ob_error **error)
Get the serial number of the specified device.
OB_EXPORT void ob_device_send_and_receive_data(ob_device *device, const uint8_t *send_data, uint32_t send_data_size, uint8_t *receive_data, uint32_t *receive_data_size, ob_error **error)
Send data to the device and receive data from the device.
OB_EXPORT const char * ob_device_info_get_serial_number(const ob_device_info *info, ob_error **error)
Get device serial number.
OB_EXPORT ob_device_info * ob_device_get_device_info(const ob_device *device, ob_error **error)
Get device information.
OB_EXPORT void ob_device_enable_global_timestamp(ob_device *device, bool enable, ob_error **error)
Enable or disable global timestamp.
OB_EXPORT ob_device_type ob_device_info_get_device_type(const ob_device_info *info, ob_error **error)
Get the device type.
OB_EXPORT const char * ob_device_list_get_device_ip_address(const ob_device_list *list, uint32_t index, ob_error **error)
Get device ip address.
OB_EXPORT void ob_device_set_state_changed_callback(ob_device *device, ob_device_state_callback callback, void *user_data, ob_error **error)
Set the device state changed callback.
OB_EXPORT const char * ob_device_list_get_device_local_gateway(const ob_device_list *list, uint32_t index, ob_error **error)
Get the gateway of the host network interface corresponding to the network device.
OB_EXPORT void ob_device_update_optional_depth_presets(ob_device *device, const char file_path_list[][OB_PATH_MAX], uint8_t path_count, ob_device_fw_update_callback callback, void *user_data, ob_error **error)
Update the device optional depth presets.
OB_EXPORT ob_device * ob_device_list_get_device_by_uid(const ob_device_list *list, const char *uid, ob_error **error)
Create device by uid.
OB_EXPORT const char * ob_device_info_get_ip_address(const ob_device_info *info, ob_error **error)
Get the device IP address.
OB_EXPORT void ob_delete_device(ob_device *device, ob_error **error)
Delete a device.
OB_EXPORT void ob_device_get_structured_data(ob_device *device, ob_property_id property_id, uint8_t *data, uint32_t *data_size, ob_error **error)
Get structured data of a device property.
OB_EXPORT ob_sensor_list * ob_device_get_sensor_list(const ob_device *device, ob_error **error)
List all sensors.
OB_EXPORT int ob_device_list_get_device_pid(const ob_device_list *list, uint32_t index, ob_error **error)
Get the pid of the specified device.
OB_EXPORT float ob_device_get_float_property(ob_device *device, ob_property_id property_id, ob_error **error)
Get a float type of device property.
OB_EXPORT uint32_t ob_camera_param_list_get_count(ob_camera_param_list *param_list, ob_error **error)
Get the number of camera parameter lists.
OB_EXPORT const char * ob_device_info_get_gateway(const ob_device_info *info, ob_error **error)
Get the network device gateway address.
OB_EXPORT ob_bool_property_range ob_device_get_bool_property_range(ob_device *device, ob_property_id property_id, ob_error **error)
Get the boolean type of device property range.
OB_EXPORT void ob_device_update_firmware(ob_device *device, const char *path, ob_device_fw_update_callback callback, bool async, void *user_data, ob_error **error)
Update the device firmware.
OB_EXPORT void ob_device_read_customer_data(ob_device *device, void *data, uint32_t *data_size, ob_error **error)
Get customer data of a device property.
OB_EXPORT const char * ob_device_list_get_device_uid(const ob_device_list *list, uint32_t index, ob_error **error)
Get the uid of the specified device.
OB_EXPORT void ob_device_set_bool_property(ob_device *device, ob_property_id property_id, bool value, ob_error **error)
Set a boolean type of device property.
OB_EXPORT int32_t ob_device_get_int_property(ob_device *device, ob_property_id property_id, ob_error **error)
Get an integer type of device property.
OB_EXPORT void ob_device_update_firmware_from_data(ob_device *device, const uint8_t *data, uint32_t data_size, ob_device_fw_update_callback callback, bool async, void *user_data, ob_error **error)
Update the device firmware from data.
OB_EXPORT const char * ob_device_list_get_device_connection_type(const ob_device_list *list, uint32_t index, ob_error **error)
Get device connection type.
OB_EXPORT void ob_delete_device_list(ob_device_list *list, ob_error **error)
Delete a device list.
OB_EXPORT const char * ob_device_list_get_device_gateway(const ob_device_list *list, uint32_t index, ob_error **error)
Get device gateway.
OB_EXPORT const char * ob_device_info_get_firmware_version(const ob_device_info *info, ob_error **error)
Get the firmware version number.
This file defines the Error class, which describes abnormal errors within the SDK....
This file contains the Filter class, which is the processing unit of the SDK that can perform point c...
OB_EXPORT void ob_device_timer_sync_with_host(ob_device *device, ob_error **error)
synchronize the timer of the device with the host.
OB_EXPORT void ob_device_trigger_capture(ob_device *device, ob_error **error)
send the capture command to the device to trigger the capture.
OB_EXPORT ob_multi_device_sync_config ob_device_get_multi_device_sync_config(const ob_device *device, ob_error **error)
get the current multi device sync configuration of the device.
OB_EXPORT uint16_t ob_device_get_supported_multi_device_sync_mode_bitmap(const ob_device *device, ob_error **error)
Get the supported multi device sync mode bitmap of the device.
OB_EXPORT void ob_device_set_multi_device_sync_config(ob_device *device, const ob_multi_device_sync_config *config, ob_error **error)
set the multi device sync configuration of the device.
OB_EXPORT ob_device_timestamp_reset_config ob_device_get_timestamp_reset_config(ob_device *device, ob_error **error)
get the timestamp reset configuration of the device.
OB_EXPORT void ob_device_set_timestamp_reset_config(ob_device *device, const ob_device_timestamp_reset_config *config, ob_error **error)
set the timestamp reset configuration of the device.
OB_EXPORT void ob_device_timestamp_reset(ob_device *device, ob_error **error)
send the timestamp reset command to the device.
OBSensorType
Enumeration value describing the sensor type.
uint64_t OBDeviceState
Device state.
enum OBUpgradeState OBFwUpdateState
OBDeviceType
Enumeration for device types.
struct ob_device_t ob_device
enum OBUpgradeState ob_fw_update_state
struct ob_device_timestamp_reset_config OBDeviceTimestampResetConfig
struct ob_multi_device_sync_config OBMultiDeviceSyncConfig
OBPermissionType
the permission type of api or property
#define OB_PATH_MAX
maximum path length
Control command property list maintenance.
OBPropertyID
Enumeration value describing all attribute control commands of the device.
@ OB_PROP_DEVICE_REBOOT_DELAY_INT
Reboot device delay mode. Delay time unit: ms, range: [0, 8000).
Defines types related to sensors, which are used to obtain stream configurations, open and close stre...
Class representing a list of camera parameters.
~CameraParamList() noexcept
CameraParamList(ob_camera_param_list_t *impl)
uint32_t getCount()
Get the number of camera parameters in the list.
OBCameraParam getCameraParam(uint32_t index)
Get the camera parameters for the specified index.
Class representing a list of device Frame Interleave.
uint32_t getCount()
Get the number of device frame interleave in the list.
DeviceFrameInterleaveList(ob_device_frame_interleave_list_t *impl)
bool hasFrameInterleave(const char *name)
check if the frame interleave list contains the special name frame interleave.
~DeviceFrameInterleaveList() noexcept
const char * getName(uint32_t index)
Get the name of the device frame interleave at the specified index.
DeviceStateChangedCallback deviceStateChangeCallback_
void deviceUpgradeFromData(const uint8_t *firmwareData, uint32_t firmwareDataSize, DeviceFwUpdateCallback callback, bool async=true)
void updateFirmwareFromData(const uint8_t *firmwareData, uint32_t firmwareDataSize, DeviceFwUpdateCallback callback, bool async=true)
Update the device firmware from data.
OBPropertyItem getSupportedProperty(uint32_t index) const
Get the supported properties of the device.
std::shared_ptr< CameraParamList > getCalibrationCameraParamList()
const char * getCurrentPresetName() const
Get current preset name.
void timerSyncWithHost() const
synchronize the timer of the device with the host.
OBStatus switchDepthWorkMode(const char *modeName) const
Switch depth work mode by work mode name.
void loadPresetFromJsonData(const char *presetName, const uint8_t *data, uint32_t size)
Load custom preset from data.
Device(Device &&other) noexcept
void deviceUpgrade(const char *filePath, DeviceFwUpdateCallback callback, bool async=true)
OBFloatPropertyRange getFloatPropertyRange(OBPropertyID propertyId) const
Get float type device property range((including current value and default value)
DeviceFwUpdateCallback fwUpdateCallback_
void readCustomerData(void *data, uint32_t *dataSize)
Get the customer data type of a device property.
OBDeviceTimestampResetConfig getTimestampResetConfig() const
get the timestamp reset configuration of the device.
bool isFrameInterleaveSupported() const
Check if the device supports the frame interleave feature.
void setIntProperty(OBPropertyID propertyId, int32_t value) const
Set int type of device property.
void triggerCapture() const
send the capture command to the device.
Device & operator=(const Device &)=delete
void timestampReset() const
send the timestamp reset command to the device.
void setStructuredData(OBPropertyID propertyId, const uint8_t *data, uint32_t dataSize) const
Set the structured data type of a device property.
std::shared_ptr< SensorList > getSensorList() const
Get device sensor list.
Device(ob_device_t *impl)
Describe the entity of the RGBD camera, representing a specific model of RGBD camera.
void getStructuredData(OBPropertyID propertyId, uint8_t *data, uint32_t *dataSize) const
Get the structured data type of a device property.
int getSupportedPropertyCount() const
Get the number of properties supported by the device.
OBBoolPropertyRange getBoolPropertyRange(OBPropertyID propertyId) const
Get bool type device property range (including current value and default value)
std::shared_ptr< OBDepthWorkModeList > getDepthWorkModeList() const
Request support depth work mode list.
Device(const Device &)=delete
void updateOptionalDepthPresets(const char filePathList[][OB_PATH_MAX], uint8_t pathCount, DeviceFwUpdateCallback callback)
Update the device optional depth presets.
void loadFrameInterleave(const char *frameInterleaveName) const
load the frame interleave according to frame interleave name.
std::function< void(OBDeviceState state, const char *message)> DeviceStateChangedCallback
Callback function for device status updates.
int32_t getIntProperty(OBPropertyID propertyId) const
Get int type of device property.
Device & operator=(Device &&other) noexcept
void sendAndReceiveData(const uint8_t *sendData, uint32_t sendDataSize, uint8_t *receiveData, uint32_t *receiveDataSize) const
Send data to the device and receive data from the device.
bool isExtensionInfoExist(const std::string &infoKey) const
Check if the extension information is exist.
OBIntPropertyRange getIntPropertyRange(OBPropertyID propertyId) const
Get int type device property range (including current value and default value)
void setFloatProperty(OBPropertyID propertyId, float value) const
Set float type of device property.
void exportSettingsAsPresetJsonFile(const char *filePath) const
Export current device settings as a preset json file.
void updateFirmware(const char *filePath, DeviceFwUpdateCallback callback, bool async=true)
Update the device firmware.
const char * getExtensionInfo(const std::string &infoKey) const
Get information about extensions obtained from SDK supported by the device.
OBStatus switchDepthWorkMode(const OBDepthWorkMode &workMode) const
Switch depth work mode by OBDepthWorkMode. Prefer invoke switchDepthWorkMode(const char *modeName) to...
void reboot(uint32_t delayMs) const
Device restart delay mode.
const char * getCurrentDepthModeName()
Get current depth mode name.
std::shared_ptr< DeviceInfo > getDeviceInfo() const
Get device information.
float getFloatProperty(OBPropertyID propertyId) const
Get float type of device property.
ob_device_t * getImpl() const
virtual ~Device() noexcept
bool isGlobalTimestampSupported() const
Check if the global timestamp is supported for the device.
void setTimestampResetConfig(const OBDeviceTimestampResetConfig &config) const
set the timestamp reset configuration of the device.
OBMultiDeviceSyncConfig getMultiDeviceSyncConfig() const
get the multi device sync configuration of the device.
void exportSettingsAsPresetJsonData(const char *presetName, const uint8_t **data, uint32_t *dataSize)
Export current device settings as a preset json data.
void enableGlobalTimestamp(bool enable)
Enable or disable the global timestamp.
void loadPresetFromJsonFile(const char *filePath) const
Load custom preset from file.
bool isPropertySupported(OBPropertyID propertyId, OBPermissionType permission) const
Check if a property permission is supported.
OBDeviceState getDeviceState()
Get the current device status.
void loadDepthFilterConfig(const char *filePath)
bool getBoolProperty(OBPropertyID propertyId) const
Get bool type of device property.
std::shared_ptr< DevicePresetList > getAvailablePresetList() const
Get available preset list.
void reboot() const
Device restart.
void writeCustomerData(const void *data, uint32_t dataSize)
Set the customer data type of a device property.
void enableHeartbeat(bool enable) const
Enable or disable the device heartbeat.
void setBoolProperty(OBPropertyID propertyId, bool value) const
Set bool type of device property.
uint16_t getSupportedMultiDeviceSyncModeBitmap() const
Get the supported multi device sync mode bitmap of the device.
std::shared_ptr< DeviceFrameInterleaveList > getAvailableFrameInterleaveList() const
Get available frame interleave list.
OBDepthWorkMode getCurrentDepthWorkMode() const
Get current depth work mode.
std::function< void(OBFwUpdateState state, const char *message, uint8_t percent)> DeviceFwUpdateCallback
Callback function for device firmware update progress.
void setDeviceStateChangedCallback(DeviceStateChangedCallback callback)
Set the device state changed callbacks.
static void deviceStateChangedCallback(OBDeviceState state, const char *message, void *userData)
void setMultiDeviceSyncConfig(const OBMultiDeviceSyncConfig &config) const
set the multi device sync configuration of the device.
std::shared_ptr< Sensor > getSensor(OBSensorType type) const
Get specific type of sensor if device not open, SDK will automatically open the connected device and ...
void loadPreset(const char *presetName) const
load the preset according to the preset name.
std::shared_ptr< PresetResolutionConfigList > getAvailablePresetResolutionConfigList() const
Get the available preset resolution config list.
A class describing device information, representing the name, id, serial number and other basic infor...
const char * getDevicegateway() const
Get the gateway address of the device.
const char * getSupportedMinSdkVersion() const
Get the minimum version number of the SDK supported by the device.
const char * getHardwareVersion() const
Get the version number of the hardware.
const char * getDeviceSubnetMask() const
Get the subnet mask of the device.
const char * getIpAddress() const
Get the IP address of the device.
DeviceInfo(ob_device_info_t *impl)
const char * getFirmwareVersion() const
Get the version number of the firmware.
OBDeviceType deviceType() const
int getPid() const
Get the pid of the device.
const char * connectionType() const
const char * serialNumber() const
const char * getAsicName() const
Get chip type name.
const char * ipAddress() const
const char * firmwareVersion() const
const char * hardwareVersion() const
const char * name() const
OBDeviceType getDeviceType() const
Get the device type.
const char * asicName() const
const char * getSerialNumber() const
Get the serial number of the device.
const char * supportedMinSdkVersion() const
const char * getUid() const
Get system assigned uid for distinguishing between different devices.
int getVid() const
Get the vid of the device.
const char * getConnectionType() const
Get the connection type of the device.
const char * getName() const
Get device name.
const char * getLocalMacAddress(uint32_t index) const
Get the MAC address of the host network interface corresponding to the device at the specified index.
const char * serialNumber(uint32_t index) const
std::shared_ptr< Device > getDevice(uint32_t index) const
Get the device object at the specified index.
const char * getIpAddress(uint32_t index) const
get the ip address of the device at the specified index
uint8_t getLocalSubnetLength(uint32_t index) const
Get the subnet length of the host network interface corresponding to the device at the specified inde...
const char * getGateway(uint32_t index) const
get the gateway of the device at the specified index
int pid(uint32_t index) const
const char * ipAddress(uint32_t index) const
const char * uid(uint32_t index) const
int vid(uint32_t index) const
uint32_t getCount() const
Get the number of devices in the list.
const char * getSubnetMask(uint32_t index) const
get the subnet mask of the device at the specified index
const char * connectionType(uint32_t index) const
uint32_t deviceCount() const
const char * getLocalGateway(uint32_t index) const
Get the gateway of the host network interface corresponding to the device at the specified index.
std::shared_ptr< Device > getDeviceBySN(const char *serialNumber) const
Get the device object with the specified serial number.
const char * getUid(uint32_t index) const
Get the UID of the device at the specified index.
const char * getSerialNumber(uint32_t index) const
Get the serial number of the device at the specified index.
int getPid(uint32_t index) const
Get the PID of the device at the specified index.
const char * getConnectionType(uint32_t index) const
Get device connection type.
std::shared_ptr< Device > getDeviceByUid(const char *uid) const
Get the specified device object from the device list by uid.
int getVid(uint32_t index) const
Get the VID of the device at the specified index.
const char * getLocalIP(uint32_t index) const
Get the IP address of the host network interface corresponding to the device at the specified index.
DeviceList(ob_device_list_t *impl)
const char * getName(uint32_t index) const
Get the name of the device at the specified index in the device list.
const char * name(uint32_t index) const
Class representing a list of device presets.
DevicePresetList(ob_device_preset_list_t *impl)
uint32_t getCount()
Get the number of device presets in the list.
~DevicePresetList() noexcept
const char * getName(uint32_t index)
Get the name of the device preset at the specified index.
bool hasPreset(const char *name)
check if the preset list contains the special name preset.
static void handle(ob_error **error, bool throw_exception=true)
A static function to handle the ob_error and throw an exception if needed.
uint32_t getCount()
Get the number of OBDepthWorkMode objects in the list.
OBDepthWorkModeList(ob_depth_work_mode_list_t *impl)
OBDepthWorkMode getOBDepthWorkMode(uint32_t index)
Get the OBDepthWorkMode object at the specified index.
OBDepthWorkMode operator[](uint32_t index)
Get the OBDepthWorkMode object at the specified index.
Class representing a list of preset resolution config list.
uint32_t getCount()
Get the number of device preset resolution ratio in the list.
OBPresetResolutionConfig getPresetResolutionRatioConfig(uint32_t index)
~PresetResolutionConfigList() noexcept
PresetResolutionConfigList(ob_preset_resolution_config_list_t *impl)
Structure for boolean range.
Structure for camera parameters.
Structure for float range.
Structure for integer range.
Used to describe the characteristics of each property.
The error class exposed by the SDK, users can get detailed error information according to the error.