OSVR-Core
Classes | Typedefs | Functions

Internal implementation-only namespace. More...

Classes

struct  CallbackType_impl
 
struct  UpdateTrampoline
 

Typedefs

template<typename ReportType >
using WrappedCallbackFunction = std::function< void(const OSVR_TimeValue *, const ReportType *)>
 
template<typename ReportType >
using WrappedCallbackPtr = std::unique_ptr< WrappedCallbackFunction< ReportType >>
 
template<typename ReportType >
using CallbackType = typename CallbackType_impl< ReportType >::type
 

Functions

template<typename T >
OSVR_ReturnCode registerHardwareDetectCallbackImpl (OSVR_PluginRegContext ctx, T functor, typename boost::enable_if< boost::is_pointer< T > >::type *=NULL)
 Traits-based overload to register a hardware detect callback where we're given a pointer to a function object. More...
 
template<typename T >
OSVR_ReturnCode registerHardwareDetectCallbackImpl (OSVR_PluginRegContext ctx, T functor, typename boost::disable_if< boost::is_pointer< T > >::type *=NULL)
 Traits based overload to copy a hardware detect callback passed by value then register the copy. More...
 
template<typename T >
OSVR_ReturnCode registerDriverInstantiationCallbackImpl (OSVR_PluginRegContext ctx, const char driverName[], T functor, typename boost::enable_if< boost::is_pointer< T > >::type *=NULL)
 Traits-based overload to register an instantiation callback where we're given a pointer to a function object. More...
 
template<typename T >
OSVR_ReturnCode registerDriverInstantiationCallbackImpl (OSVR_PluginRegContext ctx, const char driverName[], T functor, typename boost::disable_if< boost::is_pointer< T > >::type *=NULL)
 Traits based overload to copy an instantiation callback passed by value then register the copy. More...
 
template<typename ReportType >
void callbackCaller (void *userdata, const OSVR_TimeValue *timestamp, const ReportType *report)
 
template<typename ReportType >
CallbackType< ReportType > getCaller ()
 
template<typename ReportType , typename F >
std::pair< CallbackType< ReportType >, WrappedCallbackPtr< ReportType > > wrapCallback (F &&f)
 

Detailed Description

Internal implementation-only namespace.

Function Documentation

§ registerDriverInstantiationCallbackImpl() [1/2]

template<typename T >
OSVR_ReturnCode osvr::pluginkit::detail::registerDriverInstantiationCallbackImpl ( OSVR_PluginRegContext  ctx,
const char  driverName[],
T  functor,
typename boost::enable_if< boost::is_pointer< T > >::type *  = NULL 
)
inline

Traits-based overload to register an instantiation callback where we're given a pointer to a function object.

§ registerDriverInstantiationCallbackImpl() [2/2]

template<typename T >
OSVR_ReturnCode osvr::pluginkit::detail::registerDriverInstantiationCallbackImpl ( OSVR_PluginRegContext  ctx,
const char  driverName[],
T  functor,
typename boost::disable_if< boost::is_pointer< T > >::type *  = NULL 
)
inline

Traits based overload to copy an instantiation callback passed by value then register the copy.

§ registerHardwareDetectCallbackImpl() [1/2]

template<typename T >
OSVR_ReturnCode osvr::pluginkit::detail::registerHardwareDetectCallbackImpl ( OSVR_PluginRegContext  ctx,
T  functor,
typename boost::enable_if< boost::is_pointer< T > >::type *  = NULL 
)
inline

Traits-based overload to register a hardware detect callback where we're given a pointer to a function object.

§ registerHardwareDetectCallbackImpl() [2/2]

template<typename T >
OSVR_ReturnCode osvr::pluginkit::detail::registerHardwareDetectCallbackImpl ( OSVR_PluginRegContext  ctx,
T  functor,
typename boost::disable_if< boost::is_pointer< T > >::type *  = NULL 
)
inline

Traits based overload to copy a hardware detect callback passed by value then register the copy.