25 #ifndef INCLUDED_UseSendGuard_h_GUID_FEAB5647_E86B_4BA2_0A29_CB5665678CCB
26 #define INCLUDED_UseSendGuard_h_GUID_FEAB5647_E86B_4BA2_0A29_CB5665678CCB
39 template <
typename InterfaceType,
typename F>
40 inline OSVR_ReturnCode
useSendGuard(InterfaceType &iface, F &&func) {
42 auto guard = iface->getSendGuard();
46 }
catch (std::exception
const &e) {
47 OSVR_DEV_VERBOSE(
"Caught exception: " << e.what());
50 OSVR_DEV_VERBOSE(
"Caught non-standard exception!");
58 template <
typename InterfaceType,
typename F>
60 return useSendGuard(iface, [&func]() -> OSVR_ReturnCode {
65 #endif // INCLUDED_UseSendGuard_h_GUID_FEAB5647_E86B_4BA2_0A29_CB5665678CCB
OSVR_ReturnCode useSendGuardVoid(InterfaceType &iface, F &&func)
#define OSVR_RETURN_FAILURE
The "failure" value for an OSVR_ReturnCode.
#define OSVR_RETURN_SUCCESS
The "success" value for an OSVR_ReturnCode.
Internal, configured header file for verbosity macros.
OSVR_ReturnCode useSendGuard(InterfaceType &iface, F &&func)