19 #include "../FxCommonFramework.h"
46 #include <QtCore/QObject>
50 #define FX_REDEFINE_EMIT
54 #define FX_REDEFINE_SLOTS
69 #include "XeThreadHelper.h"
76 template <
class R,
class ... Args>
110 template <
class TReciver>
113 auto slot = [reciver, method,
this](Args&&... args)
115 TReciver* r =
dynamic_cast<TReciver*
>( reciver );
131 template <
class TReciver>
134 auto slot = [reciver, method,
this](Args&&... args) -> R
137 return (reciver->*method)( args... );
161 if ( m_pSender->signalsBlocked() )
164 XeThreadHelper::PostToThread(XE_THREAD_EVENT, [&, args ...]() {
slimsig::signal<R(Args...)>::emit(args...); });
166 slimsig::signal<R( Args... )>::emit( std::forward<Args&&>( args )... );
176 #ifdef FX_REDEFINE_EMIT
179 #ifdef FX_REDEFINE_SLOTS