![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <MFXThreadEvent.h>
Public Types | |
| enum | { ID_THREAD_EVENT = MFXBaseObject::ID_LAST , ID_LAST } |
| enum | { ID_NONE = 0 , ID_DELETE = 6 , ID_DISABLE , ID_ENABLE , ID_SETVALUE = 17 , ID_SETINTVALUE , ID_SETREALVALUE , ID_SETSTRINGVALUE , ID_SETINTRANGE , ID_SETREALRANGE , ID_GETINTVALUE , ID_GETREALVALUE , ID_GETSTRINGVALUE , ID_XML , ID_META , ID_COMMENT , ID_DOCUMENT , ID_TAG , ID_CONTENT , ID_LAST } |
Public Member Functions | |
| virtual void | create () |
| create resource | |
| virtual void | destroy () |
| destroy resource | |
| virtual void | detach () |
| detach resource | |
| virtual void | disable () |
| disable us | |
| virtual void | enable () |
| enable us | |
| FXApp * | getApp () |
| application pointer | |
| FXSelector | getSelector () |
| get the message | |
| FXObject * | getTarget () |
| get the target | |
| void * | getUserData () |
| get user data | |
| FXuint | getUserDataLen () |
| get user daat length | |
| FXbool | isEnabled () |
| are we enabled? | |
| virtual FXbool | isReadonly () |
| are we modifiable | |
| virtual void | load (FXStream &store) |
| load object from stream | |
| MFXThreadEvent (FXObject *tgt=NULL, FXSelector sel=0) | |
| Construct an object capable of signaling the main FOX event loop. | |
| long | onCmdDisable (FXObject *, FXSelector, void *) |
| long | onCmdEnable (FXObject *, FXSelector, void *) |
| long | onThreadEvent (FXObject *, FXSelector, void *) |
| long | onThreadSignal (FXObject *, FXSelector, void *) |
| long | onUpdate (FXObject *, FXSelector, void *) |
| virtual void | save (FXStream &store) const |
| save object to stream | |
| virtual void | setReadonly (FXbool mode=TRUE) |
| set modifiable mode | |
| void | setSelector (FXSelector sel) |
| set the selector | |
| void | setTarget (FXObject *tgt) |
| set the target | |
| void | setUserData (void *d) |
| set user data | |
| void | setUserDataLen (FXuint len) |
| set the user data length | |
| void | signal () |
| void | signal (FXuint seltype) |
| virtual | ~MFXThreadEvent () |
| destructor | |
Protected Types | |
| enum | { FLAG_ENABLED = 0x00000002 , FLAG_UPDATE = 0x00000004 , FLAG_FOCUSED = 0x00000010 , FLAG_DIRTY = 0x00000020 , FLAG_RECALC = 0x00000040 , FLAG_DEFAULT = 0x00000200 , FLAG_INITIAL = 0x00000400 , FLAG_ACTIVE = 0x00001000 , FLAG_CHANGED = 0x00010000 , FLAG_READONLY = 0x10000000 } |
| flags defined are the same as those defined in FXWindow, etc. More... | |
Protected Member Functions | |
| MFXThreadEvent (const MFXThreadEvent &) | |
| MFXThreadEvent & | operator= (const MFXThreadEvent &) |
Protected Attributes | |
| void * | data |
| FXuint | datalen |
| FXuint | flags |
| FXSelector | message |
| FXuint | options |
| FXObject * | target |
Private Attributes | |
| FXApp * | app |
| MFXThreadEventHandle | event |
:Description
Interthread communication object
Usage:
class MyGUI::FXWhatEver { // constructor MyGUI(...);
// message IDs enum { ID_THREAD_EVENT = FXWhatEver::ID_LAST, ID_LAST };
// message handler long onThreadEvent(FXObject*, FXSelector, void*);
// thread event object MFXThreadEvent m_threadEvent; };
// message map FXDEFMAP(MyGUI, FXWhatEver) = { FXMAPFUNC(SEL_THREAD_EVENT, MyGUI::ID_THREAD_EVENT, MyGUI::onThreadEvent) };
// constructor MyGUI::MyGUI(...) { m_threadEvent.setTarget(this), m_threadEvent.setSelector(ID_THREAD_EVENT); }
// message handler long onThreadEvent(FXObject*, FXSelector, void*) { do something with the GUI }
int threadFunction(...) { MFXThreadEvent* pThreadEvent = (MFXThreadEvent*)(ptr);
while (not_finished) { // work hard ...
// wake up GUI if (something_happened_and_the_GUI_needs_to_know_it) { pThreadEvent.signal(); } }
... }
Definition at line 101 of file MFXThreadEvent.h.
| anonymous enum |
| Enumerator | |
|---|---|
| ID_THREAD_EVENT | |
| ID_LAST | |
Definition at line 112 of file MFXThreadEvent.h.
|
inherited |
Definition at line 79 of file MFXBaseObject.h.
|
protectedinherited |
flags defined are the same as those defined in FXWindow, etc.
| Enumerator | |
|---|---|
| FLAG_ENABLED | |
| FLAG_UPDATE | |
| FLAG_FOCUSED | |
| FLAG_DIRTY | |
| FLAG_RECALC | |
| FLAG_DEFAULT | |
| FLAG_INITIAL | |
| FLAG_ACTIVE | |
| FLAG_CHANGED | |
| FLAG_READONLY | |
Definition at line 54 of file MFXBaseObject.h.
|
protected |
References MFXThreadEvent().
Referenced by MFXThreadEvent(), MFXThreadEvent(), and operator=().
| FXEX::MFXThreadEvent::MFXThreadEvent | ( | FXObject * | tgt = NULL, |
| FXSelector | sel = 0 ) |
Construct an object capable of signaling the main FOX event loop.
Definition at line 66 of file MFXThreadEvent.cpp.
References event, FXEX::MFXBaseObject::getApp(), ID_THREAD_EVENT, FXEX::MFXBaseObject::MFXBaseObject(), MFXThreadEvent(), PIPE_READ, and UNUSED_PARAMETER.
|
virtual |
destructor
Definition at line 81 of file MFXThreadEvent.cpp.
References event, FXEX::MFXBaseObject::getApp(), PIPE_READ, and PIPE_WRITE.
|
inlinevirtualinherited |
create resource
Definition at line 181 of file MFXBaseObject.h.
|
inlinevirtualinherited |
destroy resource
Definition at line 187 of file MFXBaseObject.h.
|
inlinevirtualinherited |
detach resource
Definition at line 184 of file MFXBaseObject.h.
|
inlinevirtualinherited |
disable us
Definition at line 168 of file MFXBaseObject.h.
References FLAG_ENABLED, and flags.
Referenced by onCmdDisable().
|
inlinevirtualinherited |
enable us
Definition at line 163 of file MFXBaseObject.h.
References FLAG_ENABLED, and flags.
Referenced by onCmdEnable().
|
inherited |
application pointer
Definition at line 118 of file MFXBaseObject.cpp.
References app.
Referenced by FXEX::MFXThreadEvent::MFXThreadEvent(), and FXEX::MFXThreadEvent::~MFXThreadEvent().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
are we modifiable
Definition at line 173 of file MFXBaseObject.h.
References FLAG_READONLY, and flags.
|
virtualinherited |
|
inherited |
Definition at line 141 of file MFXBaseObject.cpp.
References disable().
Referenced by FXEX::FXDEFMAP().
|
inherited |
Definition at line 135 of file MFXBaseObject.cpp.
References enable().
Referenced by FXEX::FXDEFMAP().
| long FXEX::MFXThreadEvent::onThreadEvent | ( | FXObject * | , |
| FXSelector | sel, | ||
| void * | ) |
Definition at line 134 of file MFXThreadEvent.cpp.
References FXEX::MFXBaseObject::message, and FXEX::MFXBaseObject::target.
Referenced by FXEX::FXDEFMAP().
| long FXEX::MFXThreadEvent::onThreadSignal | ( | FXObject * | , |
| FXSelector | , | ||
| void * | ) |
Definition at line 120 of file MFXThreadEvent.cpp.
References event, PIPE_READ, FXEX::SEL_THREAD, and UNUSED_PARAMETER.
Referenced by FXEX::FXDEFMAP().
|
inherited |
Definition at line 147 of file MFXBaseObject.cpp.
References FLAG_ENABLED, and flags.
Referenced by FXEX::FXDEFMAP().
|
protected |
References MFXThreadEvent().
|
virtualinherited |
|
virtualinherited |
set modifiable mode
Definition at line 126 of file MFXBaseObject.cpp.
References FLAG_READONLY, and flags.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
| void FXEX::MFXThreadEvent::signal | ( | ) |
Signal the event - using the SEL_THREAD FXSelector type
This is meant to be called from the worker thread - it sends a mesage to the target, which is in another thread.
Definition at line 95 of file MFXThreadEvent.cpp.
References event, PIPE_WRITE, FXEX::SEL_THREAD, and UNUSED_PARAMETER.
| void FXEX::MFXThreadEvent::signal | ( | FXuint | seltype | ) |
Signal the event - using the specified FXSelector
This is meant to be called from the worker thread - it sends a mesage to the target, which is in another thread.
Definition at line 107 of file MFXThreadEvent.cpp.
References event, PIPE_WRITE, and UNUSED_PARAMETER.
|
privateinherited |
Definition at line 68 of file MFXBaseObject.h.
Referenced by getApp(), load(), MFXBaseObject(), MFXBaseObject(), save(), and ~MFXBaseObject().
|
protectedinherited |
Definition at line 73 of file MFXBaseObject.h.
Referenced by getUserData(), load(), MFXBaseObject(), MFXBaseObject(), save(), setUserData(), and ~MFXBaseObject().
|
protectedinherited |
Definition at line 74 of file MFXBaseObject.h.
Referenced by getUserDataLen(), load(), save(), and setUserDataLen().
|
private |
Definition at line 105 of file MFXThreadEvent.h.
Referenced by MFXThreadEvent(), onThreadSignal(), signal(), signal(), and ~MFXThreadEvent().
|
protectedinherited |
Definition at line 75 of file MFXBaseObject.h.
Referenced by disable(), enable(), isEnabled(), isReadonly(), load(), MFXBaseObject(), MFXBaseObject(), onUpdate(), save(), and setReadonly().
|
protectedinherited |
Definition at line 72 of file MFXBaseObject.h.
Referenced by getSelector(), load(), MFXBaseObject(), MFXBaseObject(), FXEX::MFXThreadEvent::onThreadEvent(), save(), and setSelector().
|
protectedinherited |
Definition at line 76 of file MFXBaseObject.h.
|
protectedinherited |
Definition at line 71 of file MFXBaseObject.h.
Referenced by getTarget(), load(), MFXBaseObject(), MFXBaseObject(), FXEX::MFXThreadEvent::onThreadEvent(), save(), setTarget(), and ~MFXBaseObject().