OSVR-Core
InterfaceCallbackC.h
Go to the documentation of this file.
1 
13 /*
14 // Copyright 2014 Sensics, Inc.
15 //
16 // Licensed under the Apache License, Version 2.0 (the "License");
17 // you may not use this file except in compliance with the License.
18 // You may obtain a copy of the License at
19 //
20 // http://www.apache.org/licenses/LICENSE-2.0
21 //
22 // Unless required by applicable law or agreed to in writing, software
23 // distributed under the License is distributed on an "AS IS" BASIS,
24 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 // See the License for the specific language governing permissions and
26 // limitations under the License.
27 */
28 
29 #ifndef INCLUDED_InterfaceCallbacksC_h_GUID_8F16E6CB_F998_4ABC_5B6B_4FC1E4B71BC9
30 #define INCLUDED_InterfaceCallbacksC_h_GUID_8F16E6CB_F998_4ABC_5B6B_4FC1E4B71BC9
31 
32 /* Internal Includes */
33 #include <osvr/ClientKit/Export.h>
34 #include <osvr/Util/APIBaseC.h>
35 #include <osvr/Util/ReturnCodesC.h>
38 #include <osvr/Util/ClientCallbackTypesC.h>
39 
40 /* Library/third-party includes */
41 /* none */
42 
43 /* Standard includes */
44 /* none */
45 
46 OSVR_EXTERN_C_BEGIN
47 
48 #define OSVR_INTERFACE_CALLBACK_METHOD(TYPE) \
49  \
50  OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrRegister##TYPE##Callback( \
51  OSVR_ClientInterface iface, OSVR_##TYPE##Callback cb, void *userdata);
52 
53 OSVR_INTERFACE_CALLBACK_METHOD(Pose)
54 OSVR_INTERFACE_CALLBACK_METHOD(Position)
55 OSVR_INTERFACE_CALLBACK_METHOD(Orientation)
56 OSVR_INTERFACE_CALLBACK_METHOD(Velocity)
57 OSVR_INTERFACE_CALLBACK_METHOD(LinearVelocity)
58 OSVR_INTERFACE_CALLBACK_METHOD(AngularVelocity)
59 OSVR_INTERFACE_CALLBACK_METHOD(Acceleration)
60 OSVR_INTERFACE_CALLBACK_METHOD(LinearAcceleration)
61 OSVR_INTERFACE_CALLBACK_METHOD(AngularAcceleration)
62 OSVR_INTERFACE_CALLBACK_METHOD(Button)
63 OSVR_INTERFACE_CALLBACK_METHOD(Analog)
64 OSVR_INTERFACE_CALLBACK_METHOD(Imaging)
65 OSVR_INTERFACE_CALLBACK_METHOD(Location2D)
66 OSVR_INTERFACE_CALLBACK_METHOD(Direction)
67 OSVR_INTERFACE_CALLBACK_METHOD(EyeTracker2D)
68 OSVR_INTERFACE_CALLBACK_METHOD(EyeTracker3D)
69 OSVR_INTERFACE_CALLBACK_METHOD(EyeTrackerBlink)
70 OSVR_INTERFACE_CALLBACK_METHOD(NaviVelocity)
71 OSVR_INTERFACE_CALLBACK_METHOD(NaviPosition)
72 OSVR_INTERFACE_CALLBACK_METHOD(Skeleton)
73 
74 #undef OSVR_INTERFACE_CALLBACK_METHOD
75 
76 OSVR_EXTERN_C_END
77 
78 #endif
Header declaring a type and values for simple C return codes.
Header declaring opaque types used by Client and ClientKit.
Header providing basic C macros for defining API headers.
Header containing macros for source-level annotation.