#include "TD_PackPush.h"
#include "Editor.h"
#include "DbIdMapping.h"
#include "FxDbCoreExtension.h"
#include "TD_PackPop.h"
Go to the source code of this file.
|
#define | FX_SAFE_CALL_REACTOR_EVENT_IMPL(reactor, method, params, index) { reactor->method params; } |
|
#define | FX_BEGIN_MAIN_THREAD() CFxDbCoreExtension::StaticExecuteInMainThread( [&]() { |
|
#define | FX_END_MAIN_THREAD() } ); |
|
#define | RXEVENT_FIRE(method, inparams, params) |
|
#define | EDEVENT_FIRE(method, inparams, params) |
|
#define | DCEVENT_FIRE(method, inparams, params, IdMappingToDatabase) |
|
#define | RXEVENT_FIRE_ABORT(method, inparams, params, abortmethod, abortparams) |
|
#define | EDEVENT_FIRE_ABORT(method, inparams, params, abortmethod, abortparams) |
|
◆ DCEVENT_FIRE
#define DCEVENT_FIRE |
( |
|
method, |
|
|
|
inparams, |
|
|
|
params, |
|
|
|
IdMappingToDatabase |
|
) |
| |
Value:inline void fire_##method inparams \
{ \
FX_BEGIN_MAIN_THREAD(); \
TD_AUTOLOCK( m_mutex ); \
try \
{ \
for (unsigned i = 0; i < reactors.size(); ++i) \
{ \
} \
} \
catch( ... ) \
{ \
--m_EventCounter; \
throw; \
} \
if (!(--m_EventCounter))\
FX_END_MAIN_THREAD(); \
}
bool fxIsValidReactor(OdRxEventReactor *pRawReactor, const OdArray< OdRxEventReactorPtr > &apReactors, unsigned iHeuristicIndex)
OdArray< OdRxEventReactor * > fxCopyRawReactorPointers(OdArray< OdRxEventReactorPtr > &apReactors)
Definition at line 144 of file EditorImpl.h.
◆ EDEVENT_FIRE
#define EDEVENT_FIRE |
( |
|
method, |
|
|
|
inparams, |
|
|
|
params |
|
) |
| |
Value:inline void fire_##method inparams \
{ \
FX_BEGIN_MAIN_THREAD(); \
TD_AUTOLOCK( m_mutex ); \
++m_EventCounter; \
try \
{ \
for (unsigned i = 0; i < reactors.size(); ++i) \
{ \
{\
if (edReactor.
get()) edReactor->method
params; \
}\
} \
} \
catch( ... ) \
{ \
--m_EventCounter; \
throw; \
} \
if (!(--m_EventCounter))\
FX_END_MAIN_THREAD(); \
}
static OdRxObjectPtr cast(const OdRxObject *pointer)
Definition at line 116 of file EditorImpl.h.
◆ EDEVENT_FIRE_ABORT
#define EDEVENT_FIRE_ABORT |
( |
|
method, |
|
|
|
inparams, |
|
|
|
params, |
|
|
|
abortmethod, |
|
|
|
abortparams |
|
) |
| |
◆ FX_BEGIN_MAIN_THREAD
#define FX_BEGIN_MAIN_THREAD |
( |
| ) |
CFxDbCoreExtension::StaticExecuteInMainThread( [&]() { |
◆ FX_END_MAIN_THREAD
#define FX_END_MAIN_THREAD |
( |
| ) |
} ); |
◆ FX_SAFE_CALL_REACTOR_EVENT_IMPL
#define FX_SAFE_CALL_REACTOR_EVENT_IMPL |
( |
|
reactor, |
|
|
|
method, |
|
|
|
params, |
|
|
|
index |
|
) |
| { reactor->method params; } |
◆ RXEVENT_FIRE
#define RXEVENT_FIRE |
( |
|
method, |
|
|
|
inparams, |
|
|
|
params |
|
) |
| |
Value:inline void fire_##method inparams \
{ \
FX_BEGIN_MAIN_THREAD(); \
TD_AUTOLOCK( m_mutex ); \
++m_EventCounter; \
try \
{ \
for (unsigned i = 0; i < reactors.size(); ++i) \
{ \
FX_SAFE_CALL_REACTOR_EVENT_IMPL( reactors[i], method,
params, i ) \
} \
} \
catch( ... ) \
{ \
--m_EventCounter; \
throw; \
} \
if (!(--m_EventCounter))\
FX_END_MAIN_THREAD(); \
}
Definition at line 91 of file EditorImpl.h.
◆ RXEVENT_FIRE_ABORT
#define RXEVENT_FIRE_ABORT |
( |
|
method, |
|
|
|
inparams, |
|
|
|
params, |
|
|
|
abortmethod, |
|
|
|
abortparams |
|
) |
| |
Value:inline void fire_##method inparams \
{ \
FX_BEGIN_MAIN_THREAD(); \
TD_AUTOLOCK( m_mutex ); \
for (unsigned i = 0; i < reactors.size(); ++i) \
{ \
{ \
try \
{ \
firedReactors.append(reactors[i]); \
} \
catch(...) \
{ \
for (unsigned j = 0; j < firedReactors.size(); ++j) \
{ \
if (m_reactors.contains(firedReactors[j])) \
firedReactors[j]->abortmethod abortparams; \
} \
throw; \
} \
} \
} \
FX_END_MAIN_THREAD(); \
}
Definition at line 168 of file EditorImpl.h.
◆ OdEditorImplPtr
◆ OdRxEventImplPtr
◆ fxCopyRawReactorPointers()
◆ fxIsValidReactor()