SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MFXMutex Class Reference

#include <MFXMutex.h>

Inheritance diagram for MFXMutex:
AbstractMutex

Public Member Functions

void lock ()
 lock mutex
FXbool locked ()
 MFXMutex ()
 create me a mutex :-)
void unlock ()
 release mutex lock
virtual ~MFXMutex ()
 dtor

Protected Attributes

FXuint lock_

Private Member Functions

 MFXMutex (const MFXMutex &)
MFXMutexoperator= (const MFXMutex &)

Private Attributes

FXThreadMutex mutexHandle

Detailed Description

Recursive mutual exclusion object. Unlocks on destruction

Definition at line 52 of file MFXMutex.h.

Constructor & Destructor Documentation

MFXMutex::MFXMutex ( )

create me a mutex :-)

Definition at line 48 of file MFXMutex.cpp.

References mutexHandle.

MFXMutex::~MFXMutex ( )
virtual

dtor

Definition at line 69 of file MFXMutex.cpp.

References lock_, and mutexHandle.

MFXMutex::MFXMutex ( const MFXMutex )
private

Member Function Documentation

void MFXMutex::lock ( )
virtual

lock mutex

Implements AbstractMutex.

Definition at line 83 of file MFXMutex.cpp.

References INFINITE, lock_, and mutexHandle.

Referenced by MFXEventQue::add(), GUIMainWindow::addChild(), GUIEventControl::addEvent(), GUIShapeContainer::addPoI(), GUIShapeContainer::addPolygon(), TrackerValueDesc::addValue(), GUITLLogicPhasesTrackerWindow::addValue(), GUIVehicleControl::addVehicle(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::clear(), GUIGlObjectStorage::clear(), GUIApplicationWindow::closeAllWindows(), GUIInductLoop::collectVehiclesOnDet(), GUIRunThread::deleteSim(), GUIVehicleControl::deleteVehicle(), GUIInternalLane::detectCollisions(), GUILane::detectCollisions(), GUIVehicle::drawBestLanes(), GUISUMOAbstractView::drawDecals(), GUITLLogicPhasesTrackerWindow::drawValues(), MFXEventQue::empty(), GUIInductLoop::enterDetectorByMove(), GUIEventControl::execute(), TrackerValueDesc::getAggregatedValues(), GUIVehicle::getBestLanes(), GUIGlObjectStorage::getObjectBlocking(), TrackerValueDesc::getValues(), GUIInternalLane::getVehiclesSecure(), GUILane::getVehiclesSecure(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::GLObjectValuePassConnector(), GUIInternalLane::incorporateVehicle(), GUILane::incorporateVehicle(), GUIVehicleControl::insertVehicleIDs(), GUIInternalLane::integrateNewVehicle(), GUILane::integrateNewVehicle(), GUIInductLoop::leaveDetectorByLaneChange(), GUIInductLoop::leaveDetectorByMove(), GUIDialog_ViewSettings::loadDecals(), GUIRunThread::makeStep(), GUIInternalLane::moveCritical(), GUILane::moveCritical(), GUIShapeContainer::movePoI(), GUIDialog_ViewSettings::onCmdEditTable(), MFXEventQue::pop(), GUIGlObjectStorage::registerObject(), GUIGlObjectStorage::remove(), GUIMainWindow::removeChild(), GUIParameterTableWindow::removeObject(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), GUIShapeContainer::removePoI(), GUIShapeContainer::removePolygon(), GUIInternalLane::removeVehicle(), GUILane::removeVehicle(), GUIInductLoop::reset(), GUIShapeContainer::reshapePolygon(), TrackerValueDesc::setAggregationSpan(), GUIInternalLane::setCritical(), GUILane::setCritical(), MFXEventQue::size(), GUIInternalLane::swapAfterLaneChange(), GUILane::swapAfterLaneChange(), MFXEventQue::top(), GUIGlObjectStorage::unblockObject(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::updateAll(), GUIMainWindow::updateChildren(), GUIParameterTableWindow::updateTable(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::~GLObjectValuePassConnector(), GUIParameterTableWindow::~GUIParameterTableWindow(), and GUIVehicle::~GUIVehicle().

MFXMutex& MFXMutex::operator= ( const MFXMutex )
private
void MFXMutex::unlock ( )
virtual

release mutex lock

Implements AbstractMutex.

Definition at line 93 of file MFXMutex.cpp.

References lock_, and mutexHandle.

Referenced by MFXEventQue::add(), GUIMainWindow::addChild(), GUIEventControl::addEvent(), GUIShapeContainer::addPoI(), GUIShapeContainer::addPolygon(), TrackerValueDesc::addValue(), GUITLLogicPhasesTrackerWindow::addValue(), GUIVehicleControl::addVehicle(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::clear(), GUIGlObjectStorage::clear(), GUIApplicationWindow::closeAllWindows(), GUIInductLoop::collectVehiclesOnDet(), GUIRunThread::deleteSim(), GUIVehicleControl::deleteVehicle(), GUIInternalLane::detectCollisions(), GUILane::detectCollisions(), GUIVehicle::drawBestLanes(), GUISUMOAbstractView::drawDecals(), GUITLLogicPhasesTrackerWindow::drawValues(), MFXEventQue::empty(), GUIInductLoop::enterDetectorByMove(), GUIEventControl::execute(), GUIVehicle::getBestLanes(), GUIGlObjectStorage::getObjectBlocking(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::GLObjectValuePassConnector(), GUIInternalLane::incorporateVehicle(), GUILane::incorporateVehicle(), GUIVehicleControl::insertVehicleIDs(), GUIInternalLane::integrateNewVehicle(), GUILane::integrateNewVehicle(), GUIInductLoop::leaveDetectorByLaneChange(), GUIInductLoop::leaveDetectorByMove(), GUIDialog_ViewSettings::loadDecals(), GUIRunThread::makeStep(), GUIInternalLane::moveCritical(), GUILane::moveCritical(), GUIShapeContainer::movePoI(), GUIDialog_ViewSettings::onCmdEditTable(), MFXEventQue::pop(), GUIGlObjectStorage::registerObject(), GUIInternalLane::releaseVehicles(), GUILane::releaseVehicles(), GUIGlObjectStorage::remove(), GUIMainWindow::removeChild(), GUIParameterTableWindow::removeObject(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), GUIShapeContainer::removePoI(), GUIShapeContainer::removePolygon(), GUIInternalLane::removeVehicle(), GUILane::removeVehicle(), GUIInductLoop::reset(), GUIShapeContainer::reshapePolygon(), TrackerValueDesc::setAggregationSpan(), GUIInternalLane::setCritical(), GUILane::setCritical(), MFXEventQue::size(), GUIInternalLane::swapAfterLaneChange(), GUILane::swapAfterLaneChange(), MFXEventQue::top(), GUIGlObjectStorage::unblockObject(), TrackerValueDesc::unlockValues(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::updateAll(), GUIMainWindow::updateChildren(), GUIParameterTableWindow::updateTable(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::~GLObjectValuePassConnector(), GUIInternalLane::~GUIInternalLane(), GUILane::~GUILane(), GUIParameterTableWindow::~GUIParameterTableWindow(), GUITLLogicPhasesTrackerWindow::~GUITLLogicPhasesTrackerWindow(), GUIVehicle::~GUIVehicle(), GUIVehicleControl::~GUIVehicleControl(), and TrackerValueDesc::~TrackerValueDesc().

Field Documentation

FXuint MFXMutex::lock_
protected

Definition at line 71 of file MFXMutex.h.

Referenced by lock(), locked(), unlock(), and ~MFXMutex().

FXThreadMutex MFXMutex::mutexHandle
private

Definition at line 74 of file MFXMutex.h.

Referenced by lock(), MFXMutex(), unlock(), and ~MFXMutex().


The documentation for this class was generated from the following files: