Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
rs_context.h
Go to the documentation of this file.
1 /* License: Apache 2.0. See LICENSE file in root directory.
2  Copyright(c) 2017 Intel Corporation. All Rights Reserved. */
3 
9 #ifndef LIBREALSENSE_RS2_CONTEXT_H
10 #define LIBREALSENSE_RS2_CONTEXT_H
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 #include "rs_types.h"
16 
24 rs2_context* rs2_create_context(int api_version, rs2_error** error);
25 
49 rs2_context* rs2_create_context_ex(int api_version, const char * json_settings, rs2_error** error);
50 
55 void rs2_delete_context(rs2_context* context);
56 
65 
73 void rs2_set_devices_changed_callback(const rs2_context* context, rs2_devices_changed_callback_ptr callback, void* user, rs2_error** error);
74 
82 rs2_device* rs2_context_add_device(rs2_context* ctx, const char* file, rs2_error** error);
83 
91 
98 void rs2_context_remove_device(rs2_context* ctx, const char* file, rs2_error** error);
99 
108 
115 rs2_device_list* rs2_query_devices(const rs2_context* context, rs2_error** error);
116 
117 #define RS2_PRODUCT_LINE_ANY 0xff
118 #define RS2_PRODUCT_LINE_ANY_INTEL 0xfe
119 #define RS2_PRODUCT_LINE_NON_INTEL 0x01
120 #define RS2_PRODUCT_LINE_D400 0x02
121 #define RS2_PRODUCT_LINE_SR300 0x04
122 #define RS2_PRODUCT_LINE_L500 0x08
123 #define RS2_PRODUCT_LINE_T200 0x10
124 #define RS2_PRODUCT_LINE_D500 0x20
125 #define RS2_PRODUCT_LINE_SW_ONLY 0x100 // enable to return only SW devices, including playback
126 #define RS2_PRODUCT_LINE_DEPTH ( RS2_PRODUCT_LINE_L500 | RS2_PRODUCT_LINE_SR300 | RS2_PRODUCT_LINE_D400 | RS2_PRODUCT_LINE_D500 )
127 #define RS2_PRODUCT_LINE_TRACKING RS2_PRODUCT_LINE_T200
128 
136 rs2_device_list* rs2_query_devices_ex(const rs2_context* context, int product_mask, rs2_error** error);
137 
145 
150 void rs2_delete_device_hub(const rs2_device_hub* hub);
151 
161 
169 int rs2_device_hub_is_device_connected(const rs2_device_hub* hub, const rs2_device* device, rs2_error** error);
170 
171 
172 #ifdef __cplusplus
173 }
174 #endif
175 #endif
rs2_context * rs2_create_context_ex(int api_version, const char *json_settings, rs2_error **error)
Creates RealSense context that is required for the rest of the API, and accepts a settings JSON...
rs2_device_list * rs2_query_devices(const rs2_context *context, rs2_error **error)
rs2_device_hub * rs2_create_device_hub(const rs2_context *context, rs2_error **error)
Creates RealSense device_hub .
rs2_context * rs2_create_context(int api_version, rs2_error **error)
Creates RealSense context that is required for the rest of the API. Context settings are taken from t...
struct rs2_context rs2_context
Definition: rs_types.h:252
void rs2_delete_context(rs2_context *context)
Frees the relevant context object.
rs2_device * rs2_context_add_device(rs2_context *ctx, const char *file, rs2_error **error)
rs2_device_list * rs2_query_devices_ex(const rs2_context *context, int product_mask, rs2_error **error)
struct rs2_device_hub rs2_device_hub
Definition: rs_types.h:253
Exposes RealSense structs.
int rs2_device_hub_is_device_connected(const rs2_device_hub *hub, const rs2_device *device, rs2_error **error)
void rs2_delete_device_hub(const rs2_device_hub *hub)
Frees the relevant device hub object.
void(* rs2_devices_changed_callback_ptr)(rs2_device_list *, rs2_device_list *, void *)
Definition: rs_types.h:270
void rs2_context_unload_tracking_module(rs2_context *ctx, rs2_error **error)
void rs2_context_add_software_device(rs2_context *ctx, rs2_device *dev, rs2_error **error)
struct rs2_device rs2_device
Definition: rs_types.h:230
void rs2_set_devices_changed_callback_cpp(rs2_context *context, rs2_devices_changed_callback *callback, rs2_error **error)
void rs2_set_devices_changed_callback(const rs2_context *context, rs2_devices_changed_callback_ptr callback, void *user, rs2_error **error)
void rs2_context_remove_device(rs2_context *ctx, const char *file, rs2_error **error)
struct rs2_device_list rs2_device_list
Definition: rs_types.h:239
Definition: rs_types.hpp:81
struct rs2_error rs2_error
Definition: rs_types.h:231
rs2_device * rs2_device_hub_wait_for_device(const rs2_device_hub *hub, rs2_error **error)