OSVR-Core
SkeletonInterfaceC.h
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_SkeletonInterfaceC_h_GUID_69382E69_DFA1_4FB0_5287_D874B740B4C0
26 #define INCLUDED_SkeletonInterfaceC_h_GUID_69382E69_DFA1_4FB0_5287_D874B740B4C0
27 
28 /* Internal Includes */
32 
33 // Library/third-party includes
34 // - none
35 
36 // Standard includes
37 // - none
38 
39 OSVR_EXTERN_C_BEGIN
40 
58 
72 OSVR_PLUGINKIT_EXPORT
73 OSVR_ReturnCode
75  OSVR_OUT_PTR OSVR_SkeletonDeviceInterface *iface,
76  OSVR_IN_READS(len) const char *jsonDescriptor)
77  OSVR_FUNC_NONNULL((1, 2));
78 
92 OSVR_PLUGINKIT_EXPORT
93 OSVR_ReturnCode
94 osvrDeviceSkeletonComplete(OSVR_IN_PTR OSVR_SkeletonDeviceInterface iface,
96  OSVR_IN_PTR OSVR_TimeValue const *timestamp)
97  OSVR_FUNC_NONNULL((1, 3));
98 
111 OSVR_PLUGINKIT_EXPORT
112 OSVR_ReturnCode
113 osvrDeviceSkeletonUpdateSpec(OSVR_IN_PTR OSVR_SkeletonDeviceInterface iface,
114  OSVR_IN_READS(len) const char *spec)
115  OSVR_FUNC_NONNULL((1, 2));
116  /* end of group */
118 
119 OSVR_EXTERN_C_END
120 
121 #endif // INCLUDED_SkeletonInterfaceC_h_GUID_69382E69_DFA1_4FB0_5287_D874B740B4C0
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceSkeletonConfigure(OSVR_INOUT_PTR OSVR_DeviceInitOptions opts, OSVR_OUT_PTR OSVR_SkeletonDeviceInterface *iface, OSVR_IN_READS(len) const char *jsonDescriptor) OSVR_FUNC_NONNULL((1
Specify that your device will implement the Skeleton interface.
#define OSVR_OUT_PTR
Indicates a required pointer (non-null) function parameter that serves only as output.
Definition: AnnotationMacrosC.h:151
uint32_t OSVR_ChannelCount
The integer type specifying a number of channels/sensors or a channel/sensor index.
Definition: ChannelCountC.h:51
Definition: SkeletonInterfaceC.cpp:42
#define OSVR_IN_PTR
Indicates a required pointer (non-null) function parameter that serves only as input.
Definition: AnnotationMacrosC.h:108
#define OSVR_FUNC_NONNULL(X)
Indicates the parameter(s) that must be non-null.
Definition: AnnotationMacrosC.h:202
struct OSVR_SkeletonDeviceInterfaceObject * OSVR_SkeletonDeviceInterface
Opaque type used in conjunction with a device token to send data on Skeleton Interface.
Definition: SkeletonInterfaceC.h:57
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
#define OSVR_INOUT_PTR
Indicates a required pointer (non-null) function parameter that is both read and written to...
Definition: AnnotationMacrosC.h:178
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceSkeletonUpdateSpec(OSVR_IN_PTR OSVR_SkeletonDeviceInterface iface, OSVR_IN_READS(len) const char *spec) OSVR_FUNC_NONNULL((1
If device detects another skeleton and/or change in existing articulation specification, then it needs to update the spec with the client as well.
#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 osvrDeviceSkeletonComplete(OSVR_IN_PTR OSVR_SkeletonDeviceInterface iface, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report that transmission of tracker reports for given skeleton sensor is complete.
Definition: ProjectionMatrix.h:77