29 #ifndef INCLUDED_DeviceInterfaceC_h_GUID_8B82B108_1B20_4D80_9FE5_C31E424E3652 30 #define INCLUDED_DeviceInterfaceC_h_GUID_8B82B108_1B20_4D80_9FE5_C31E424E3652 33 #include <osvr/PluginKit/Export.h> 85 OSVR_PLUGINKIT_EXPORT OSVR_DeviceInitOptions
98 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
109 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
120 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
131 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
183 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
187 OSVR_FUNC_NONNULL((1, 2, 3));
196 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
201 OSVR_FUNC_NONNULL((1, 2, 3, 4));
228 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
232 OSVR_FUNC_NONNULL((1, 2, 3));
241 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
246 OSVR_FUNC_NONNULL((1, 2, 3, 4));
257 OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode
#define OSVR_OUT_PTR
Indicates a required pointer (non-null) function parameter that serves only as output.
Definition: AnnotationMacrosC.h:151
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceRegisterMessageType(OSVR_IN_PTR OSVR_PluginRegContext ctx, OSVR_IN_STRZ const char *name, OSVR_OUT_PTR OSVR_MessageType *msgtype) OSVR_FUNC_NONNULL((1
Register (or recall) a message type by name.
#define OSVR_IN_STRZ
Indicates a null-terminated string function parameter that serves only as input.
Definition: AnnotationMacrosC.h:124
#define OSVR_IN_PTR
Indicates a required pointer (non-null) function parameter that serves only as input.
Definition: AnnotationMacrosC.h:108
#define OSVR_IN_OPT
Indicates a function parameter (pointer) that serves only as input, but is optional and might be NULL...
Definition: AnnotationMacrosC.h:116
A DeviceToken connects the generic device interaction code in PluginKit's C API with the workings of ...
Definition: DeviceToken.h:56
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceSyncInitWithOptions(OSVR_IN_PTR OSVR_PluginRegContext ctx, OSVR_IN_STRZ const char *name, OSVR_IN_PTR OSVR_DeviceInitOptions options, OSVR_OUT_PTR OSVR_DeviceToken *device) OSVR_FUNC_NONNULL((1
Initialize a synchronous device token.
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceSendTimestampedData(OSVR_IN_PTR OSVR_DeviceToken dev, OSVR_IN_PTR const OSVR_TimeValue *timestamp, OSVR_IN_PTR OSVR_MessageType msg, OSVR_IN_READS(len) const char *bytestream, OSVR_IN size_t len) OSVR_FUNC_NONNULL((1
Send a raw bytestream from your device, with a known timestamp.
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceMicrosleep(OSVR_IN uint64_t microseconds)
Request a thread sleep for at least the given number of microseconds.
Definition: DeviceInterfaceC.cpp:213
#define OSVR_FUNC_NONNULL(X)
Indicates the parameter(s) that must be non-null.
Definition: AnnotationMacrosC.h:202
Structure used internally to construct the desired type of device.
Definition: DeviceInitObject.h:59
#define OSVR_IN_READS(NUM_ELEMENTS)
Indicates a buffer containing input with the specified number of elements.
Definition: AnnotationMacrosC.h:134
Base class for connection-specific message type registration.
Definition: MessageType.h:38
struct OSVR_DeviceTokenObject * OSVR_DeviceToken
Opaque type of a registered device token within the core library.
Definition: DeviceInterfaceC.h:60
struct OSVR_MessageTypeObject * OSVR_MessageType
Opaque type of a registered message type within the core library.
Definition: DeviceInterfaceC.h:67
Header declaring device callback types.
struct OSVR_DeviceInitObject * OSVR_DeviceInitOptions
Opaque type of a device initialization object.
Definition: DeviceInterfaceC.h:75
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceRegisterUpdateCallback(OSVR_IN_PTR OSVR_DeviceToken dev, OSVR_IN OSVR_DeviceUpdateCallback updateCallback, OSVR_IN_OPT void *userData OSVR_CPP_ONLY(=NULL)) OSVR_FUNC_NONNULL((1))
Register the update callback of a device.
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceAsyncInitWithOptions(OSVR_IN_PTR OSVR_PluginRegContext ctx, OSVR_IN_STRZ const char *name, OSVR_IN_PTR OSVR_DeviceInitOptions options, OSVR_OUT_PTR OSVR_DeviceToken *device) OSVR_FUNC_NONNULL((1
Initialize an asynchronous device token.
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceAsyncInit(OSVR_IN_PTR OSVR_PluginRegContext ctx, OSVR_IN_STRZ const char *name, OSVR_OUT_PTR OSVR_DeviceToken *device) OSVR_FUNC_NONNULL((1
Initialize an asynchronous device token.
OSVR_ReturnCode(* OSVR_DeviceUpdateCallback)(void *userData)
Function type of a Device Update callback.
Definition: DeviceCallbackTypesC.h:48
Header containing macros for source-level annotation.
OSVR_PLUGINKIT_EXPORT OSVR_DeviceInitOptions osvrDeviceCreateInitOptions(OSVR_IN_PTR OSVR_PluginRegContext ctx) OSVR_FUNC_NONNULL((1))
Create a OSVR_DeviceInitOptions object.
Definition: DeviceInterfaceC.cpp:45
Header defining a dependency-free, cross-platform substitute for struct timeval.
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceSyncInit(OSVR_IN_PTR OSVR_PluginRegContext ctx, OSVR_IN_STRZ const char *name, OSVR_OUT_PTR OSVR_DeviceToken *device) OSVR_FUNC_NONNULL((1
Initialize a synchronous device token.
OSVR_EXTERN_C_BEGIN typedef void * OSVR_PluginRegContext
A context pointer passed in to your plugin's entry point and other locations of control flow transfer...
Definition: PluginRegContextC.h:47
#define OSVR_IN
Indicates a required function parameter that serves only as input.
Definition: AnnotationMacrosC.h:100
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceSendData(OSVR_IN_PTR OSVR_DeviceToken dev, OSVR_IN_PTR OSVR_MessageType msg, OSVR_IN_READS(len) const char *bytestream, OSVR_IN size_t len) OSVR_FUNC_NONNULL((1
Send a raw bytestream from your device.
Header shared between multiple C API headers.
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceSendJsonDescriptor(OSVR_IN_PTR OSVR_DeviceToken dev, OSVR_IN_READS(len) const char *json, OSVR_IN size_t len) OSVR_FUNC_NONNULL((1
Submit a JSON self-descriptor string for the device.