#include <vccorlib.h>
|
template<typename __TDelegate , typename __TReturnType , typename __TInvokeMethod > |
__TReturnType | DoInvoke (Details::EventLock *__lockArg, __TInvokeMethod __invokeOneArg) |
|
template<typename __TDelegate , typename __TInvokeMethod > |
void | DoInvokeVoid (Details::EventLock *__lockArg, __TInvokeMethod __invokeOneArg) |
|
Platform::EventSource::EventSource |
( |
| ) |
|
|
inline |
2491 Details::EventSourceInitialize(&
__targets);
Platform::EventSource::~EventSource |
( |
| ) |
|
|
inline |
2496 Details::EventSourceUninitialize(&
__targets);
::Windows::Foundation::EventRegistrationToken Platform::EventSource::Add |
( |
Details::EventLock * |
__lockArg, |
|
|
::Platform::Object^ |
__delegateInterfaceArg |
|
) |
| |
|
inline |
2501 return Details::EventSourceAdd(&
__targets, __lockArg, reinterpret_cast< ::Platform::Delegate^>(__delegateInterfaceArg));
template<typename __TDelegate , typename __TReturnType , typename __TInvokeMethod >
__TReturnType Platform::EventSource::DoInvoke |
( |
Details::EventLock * |
__lockArg, |
|
|
__TInvokeMethod |
__invokeOneArg |
|
) |
| |
|
inlineprivate |
2524 ::Platform::Object^ __targetsLoc;
2526 *
reinterpret_cast<void**
>(&__targetsLoc) = Details::EventSourceGetTargetArray(
__targets, __lockArg);
2528 typename __TReturnType __returnVal =
typename __TReturnType();
2530 if (__targetsLoc !=
nullptr)
2532 const unsigned int __size = Details::EventSourceGetTargetArraySize(reinterpret_cast<void*>(__targetsLoc));
2534 for (
unsigned int __index = 0; __index < __size; __index++)
2536 ::Windows::Foundation::EventRegistrationToken __token = {};
2540 __TDelegate^ __element;
2541 *
reinterpret_cast<void**
>(&__element) = Details::EventSourceGetTargetArrayEvent(
2542 reinterpret_cast<void*>(__targetsLoc),
2544 reinterpret_cast<const void*
>(&__uuidof(__TDelegate^)),
2548 __returnVal = (__invokeOneArg)(__element);
2550 catch(::Platform::Exception^ e)
2552 int __hr = e->HResult;
2553 if (__hr == 0x800706BA
2554 || __hr == 0x80010108
2555 || __hr == 0x89020001 )
2557 Details::EventSourceRemove(&
__targets, __lockArg, __token);
template<typename __TDelegate , typename __TInvokeMethod >
2584 ::Platform::Object^ __targetsLoc;
2586 *
reinterpret_cast<void**
>(&__targetsLoc) = Details::EventSourceGetTargetArray(
__targets, __lockArg);
2589 if (__targetsLoc !=
nullptr)
2591 const unsigned int __size = Details::EventSourceGetTargetArraySize(reinterpret_cast<void*>(__targetsLoc));
2593 for (
unsigned int __index = 0; __index < __size; __index++)
2595 ::Windows::Foundation::EventRegistrationToken __token = {};
2599 __TDelegate^ __element;
2600 *
reinterpret_cast<void**
>(&__element) = Details::EventSourceGetTargetArrayEvent(
2601 reinterpret_cast<void*>(__targetsLoc),
2603 reinterpret_cast<const void*
>(&__uuidof(__TDelegate^)),
2607 (__invokeOneArg)(__element);
2609 catch(::Platform::Exception^ e)
2611 int __hr = e->HResult;
2612 if (__hr == 0x800706BA
2613 || __hr == 0x80010108
2614 || __hr == 0x89020001 )
2616 Details::EventSourceRemove(&
__targets, __lockArg, __token);
template<typename __TLambda , typename __TReturnType , typename... __TArgs>
__TReturnType Platform::EventSource::Invoke |
( |
Details::EventLock * |
__lockArg, |
|
|
__TArgs... |
__args |
|
) |
| |
|
inline |
2637 return DoInvoke<__TLambda, __TReturnType>(__lockArg, [__args...](__TLambda^ __lambda) ->
typename __TReturnType {
return __lambda(__args...); });
template<typename __TLambda , typename... __TArgs>
2631 DoInvokeVoid<__TLambda>(__lockArg, [__args...](__TLambda^ __lambda) ->
void { __lambda(__args...); });
void Platform::EventSource::Remove |
( |
Details::EventLock * |
__lockArg, |
|
|
::Windows::Foundation::EventRegistrationToken |
__tokenArg |
|
) |
| |
|
inline |
2506 Details::EventSourceRemove(&
__targets, __lockArg, __tokenArg);
void* Platform::EventSource::__targets |
|
protected |
The documentation for this class was generated from the following file: