35 #define OSVR_CALLBACK_METHODS(TYPE) \
36 OSVR_ReturnCode osvrGet##TYPE##State(OSVR_ClientInterface iface, \
37 struct OSVR_TimeValue *timestamp, \
38 OSVR_##TYPE##State *state) { \
40 iface->getState<OSVR_##TYPE##Report>(*timestamp, *state); \
41 return hasState ? OSVR_RETURN_SUCCESS : OSVR_RETURN_FAILURE; \
44 OSVR_CALLBACK_METHODS(Pose)
45 OSVR_CALLBACK_METHODS(Position)
46 OSVR_CALLBACK_METHODS(Orientation)
47 OSVR_CALLBACK_METHODS(Velocity)
48 OSVR_CALLBACK_METHODS(LinearVelocity)
49 OSVR_CALLBACK_METHODS(AngularVelocity)
50 OSVR_CALLBACK_METHODS(Acceleration)
51 OSVR_CALLBACK_METHODS(LinearAcceleration)
52 OSVR_CALLBACK_METHODS(AngularAcceleration)
53 OSVR_CALLBACK_METHODS(Button)
54 OSVR_CALLBACK_METHODS(Analog)
55 OSVR_CALLBACK_METHODS(Location2D)
56 OSVR_CALLBACK_METHODS(Direction)
57 OSVR_CALLBACK_METHODS(EyeTracker2D)
58 OSVR_CALLBACK_METHODS(EyeTracker3D)
59 OSVR_CALLBACK_METHODS(EyeTrackerBlink)
60 OSVR_CALLBACK_METHODS(NaviVelocity)
61 OSVR_CALLBACK_METHODS(NaviPosition)
63 #undef OSVR_CALLBACK_METHODS