OSVR-Core  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
DirectionInterfaceC.h
Go to the documentation of this file.
1 
12 // Copyright 2015 Sensics, Inc.
13 //
14 // Licensed under the Apache License, Version 2.0 (the "License");
15 // you may not use this file except in compliance with the License.
16 // You may obtain a copy of the License at
17 //
18 // http://www.apache.org/licenses/LICENSE-2.0
19 //
20 // Unless required by applicable law or agreed to in writing, software
21 // distributed under the License is distributed on an "AS IS" BASIS,
22 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 // See the License for the specific language governing permissions and
24 // limitations under the License.
25 
26 #ifndef INCLUDED_DirectionInterfaceC_h_GUID_5F33787D_F830_4C8F_D066_B649857F3395
27 #define INCLUDED_DirectionInterfaceC_h_GUID_5F33787D_F830_4C8F_D066_B649857F3395
28 
29 /* Internal Includes */
33 
34 /* Library/third-party includes */
35 /* none */
36 
37 /* Standard includes */
38 /* none */
39 
40 OSVR_EXTERN_C_BEGIN
41 
51 typedef struct OSVR_DirectionDeviceInterfaceObject
53 
64 OSVR_PLUGINKIT_EXPORT
65 OSVR_ReturnCode osvrDeviceDirectionConfigure(
66  OSVR_INOUT_PTR OSVR_DeviceInitOptions opts,
67  OSVR_OUT_PTR OSVR_DirectionDeviceInterface *iface,
68  OSVR_IN OSVR_ChannelCount numSensors OSVR_CPP_ONLY(= 1))
69  OSVR_FUNC_NONNULL((1, 2));
70 
78 OSVR_PLUGINKIT_EXPORT
79 OSVR_ReturnCode osvrDeviceDirectionReportData(
80  OSVR_IN_PTR OSVR_DirectionDeviceInterface iface,
81  OSVR_IN OSVR_DirectionState directionData, OSVR_IN OSVR_ChannelCount sensor,
82  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 4)); /* end of group */
84 
85 OSVR_EXTERN_C_END
86 
87 #endif // INCLUDED_DirectionInterfaceC_h_GUID_5F33787D_F830_4C8F_D066_B649857F3395
uint32_t OSVR_ChannelCount
The integer type specifying a number of channels/sensors or a channel/sensor index.
Definition: ChannelCountC.h:51
A structure defining a 3D vector, often a position/translation.
Definition: Vec3C.h:48
struct OSVR_DeviceInitObject * OSVR_DeviceInitOptions
Opaque type of a device initialization object.
OSVR_ReturnCode osvrDeviceDirectionReportData(OSVR_DirectionDeviceInterface iface, OSVR_DirectionState directionData, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report data for a specific sensor.
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81
OSVR_ReturnCode osvrDeviceDirectionConfigure(OSVR_DeviceInitOptions opts, OSVR_DirectionDeviceInterface *iface, OSVR_ChannelCount numSensors=1)
Specify that your device will implement the Direction interface.
struct OSVR_DirectionDeviceInterfaceObject * OSVR_DirectionDeviceInterface
Opaque type used in conjunction with a device token to send data on 3D Direction interface.