Eclipse SUMO - Simulation of Urban MObility
GNELoadThread Class Reference

#include <GNELoadThread.h>

Inheritance diagram for GNELoadThread:
[legend]
Collaboration diagram for GNELoadThread:
[legend]

Public Types

enum  { ID_THREAD_EVENT }
 FOX declaration. More...
 

Public Member Functions

 GNELoadThread (FXApp *app, MFXInterThreadEventClient *mw, MFXSynchQue< GUIEvent * > &eq, FXEX::MFXThreadEvent &ev)
 constructor More...
 
void loadConfigOrNet (const std::string &file, const bool isNet, const bool useStartupOptions, const bool newNet=false)
 begins the loading of a netconvert configuration or a a network More...
 
long onThreadEvent (FXObject *, FXSelector, void *)
 
long onThreadSignal (FXObject *, FXSelector, void *)
 
void retrieveMessage (const MsgHandler::MsgType type, const std::string &msg)
 Retrieves messages from the loading module. More...
 
FXint run ()
 starts the thread. The thread ends after the net has been loaded More...
 
void signal ()
 
void signal (FXuint seltype)
 
virtual ~GNELoadThread ()
 destructor More...
 

Static Public Member Functions

static void fillOptions (OptionsCont &oc)
 clears and initializes the OptionsCont More...
 
static void setDefaultOptions (OptionsCont &oc)
 sets required options for proper functioning More...
 
static void sleep (long ms)
 

Protected Member Functions

bool initOptions ()
 init options More...
 
void submitEndAndCleanup (GNENet *net, const bool newNet=false, const std::string &guiSettingsFile="", const bool viewportFromRegistry=false)
 Closes the loading process. More...
 

Protected Attributes

FXApp * myApp = nullptr
 pointer to APP More...
 
MFXInterThreadEventClientmyClient = nullptr
 thread client More...
 
OutputDevicemyDebugRetriever
 
OutputDevicemyErrorRetriever
 The instances of message retriever encapsulations Needed to be deleted from the handler later on. More...
 
MFXSynchQue< GUIEvent * > & myEventQue
 event Queue More...
 
FXEX::MFXThreadEventmyEventThrow
 event throw More...
 
std::string myFile
 the path to load the network from More...
 
OutputDevicemyGLDebugRetriever
 
bool myLoadNet = false
 Information whether only the network shall be loaded. More...
 
OutputDevicemyMessageRetriever
 
bool myNewNet = false
 if true, a new net is created More...
 
MFXInterThreadEventClientmyParent
 the parent window to inform about the loading More...
 
OutputDevicemyWarningRetriever
 

Private Attributes

FXEX::MFXThreadEventHandle event
 event More...
 

Detailed Description

Definition at line 43 of file GNELoadThread.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

FOX declaration.

Enumerator
ID_THREAD_EVENT 

Definition at line 38 of file MFXSingleEventThread.h.

Constructor & Destructor Documentation

◆ GNELoadThread()

◆ ~GNELoadThread()

GNELoadThread::~GNELoadThread ( )
virtual

Member Function Documentation

◆ fillOptions()

void GNELoadThread::fillOptions ( OptionsCont oc)
static

◆ initOptions()

bool GNELoadThread::initOptions ( )
protected

init options

Definition at line 417 of file GNELoadThread.cpp.

References fillOptions(), OptionsCont::getOptions(), OptionsIO::getOptions(), OptionsCont::getString(), OptionsCont::isSet(), myFile, myLoadNet, OptionsCont::resetWritable(), OptionsCont::set(), setDefaultOptions(), TL, and WRITE_ERROR.

Referenced by run().

Here is the caller graph for this function:

◆ loadConfigOrNet()

void GNELoadThread::loadConfigOrNet ( const std::string &  file,
const bool  isNet,
const bool  useStartupOptions,
const bool  newNet = false 
)

begins the loading of a netconvert configuration or a a network

Parameters
[in]fileThe network or configuration-file to be loaded
[in]isNetwhether file is a network file
[in]useStartupOptionswhether the initial startup options shall be used

Definition at line 452 of file GNELoadThread.cpp.

References myFile, myLoadNet, myNewNet, and OptionsIO::setArgs().

Referenced by GNEApplicationWindow::loadConfigOrNet().

Here is the caller graph for this function:

◆ onThreadEvent()

long MFXSingleEventThread::onThreadEvent ( FXObject *  ,
FXSelector  ,
void *   
)
inherited

Definition at line 128 of file MFXSingleEventThread.cpp.

References MFXInterThreadEventClient::eventOccurred(), and MFXSingleEventThread::myClient.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onThreadSignal()

long MFXSingleEventThread::onThreadSignal ( FXObject *  ,
FXSelector  ,
void *   
)
inherited

Definition at line 113 of file MFXSingleEventThread.cpp.

References MFXSingleEventThread::event, PIPE_READ, FXEX::SEL_THREAD, and UNUSED_PARAMETER.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ retrieveMessage()

void GNELoadThread::retrieveMessage ( const MsgHandler::MsgType  type,
const std::string &  msg 
)

Retrieves messages from the loading module.

Definition at line 464 of file GNELoadThread.cpp.

References myEventQue, myEventThrow, MFXSynchQue< T, Container >::push_back(), and FXEX::MFXThreadEvent::signal().

Referenced by GNELoadThread().

Here is the caller graph for this function:

◆ run()

◆ setDefaultOptions()

void GNELoadThread::setDefaultOptions ( OptionsCont oc)
static

sets required options for proper functioning

Definition at line 409 of file GNELoadThread.cpp.

References OptionsCont::resetWritable(), and OptionsCont::set().

Referenced by initOptions(), and GNEApplicationWindow::onCmdNewNetwork().

Here is the caller graph for this function:

◆ signal() [1/2]

void MFXSingleEventThread::signal ( )
inherited

◆ signal() [2/2]

void MFXSingleEventThread::signal ( FXuint  seltype)
inherited

◆ sleep()

void MFXSingleEventThread::sleep ( long  ms)
staticinherited

Definition at line 142 of file MFXSingleEventThread.cpp.

Referenced by GUIRunThread::deleteSim(), GUIApplicationWindow::loadOnStartup(), GUISUMOAbstractView::makeSnapshot(), and GUIRunThread::tryStep().

Here is the caller graph for this function:

◆ submitEndAndCleanup()

void GNELoadThread::submitEndAndCleanup ( GNENet net,
const bool  newNet = false,
const std::string &  guiSettingsFile = "",
const bool  viewportFromRegistry = false 
)
protected

Closes the loading process.

This method is called both on success and failure. All message callbacks to this instance are removed and the parent application is informed about the loading

Definition at line 186 of file GNELoadThread.cpp.

References MsgHandler::getDebugInstance(), MsgHandler::getErrorInstance(), MsgHandler::getGLDebugInstance(), MsgHandler::getMessageInstance(), MsgHandler::getWarningInstance(), myDebugRetriever, myErrorRetriever, myEventQue, myEventThrow, myFile, myGLDebugRetriever, myMessageRetriever, myWarningRetriever, MFXSynchQue< T, Container >::push_back(), MsgHandler::removeRetriever(), and FXEX::MFXThreadEvent::signal().

Referenced by run().

Here is the caller graph for this function:

Field Documentation

◆ event

◆ myApp

FXApp* MFXSingleEventThread::myApp = nullptr
protectedinherited

pointer to APP

Definition at line 66 of file MFXSingleEventThread.h.

Referenced by GUIRunThread::run(), and MFXSingleEventThread::~MFXSingleEventThread().

◆ myClient

MFXInterThreadEventClient* MFXSingleEventThread::myClient = nullptr
protectedinherited

thread client

Definition at line 69 of file MFXSingleEventThread.h.

Referenced by MFXSingleEventThread::onThreadEvent().

◆ myDebugRetriever

OutputDevice * GNELoadThread::myDebugRetriever
protected

Definition at line 90 of file GNELoadThread.h.

Referenced by GNELoadThread(), run(), submitEndAndCleanup(), and ~GNELoadThread().

◆ myErrorRetriever

OutputDevice* GNELoadThread::myErrorRetriever
protected

The instances of message retriever encapsulations Needed to be deleted from the handler later on.

Definition at line 90 of file GNELoadThread.h.

Referenced by GNELoadThread(), run(), submitEndAndCleanup(), and ~GNELoadThread().

◆ myEventQue

MFXSynchQue<GUIEvent*>& GNELoadThread::myEventQue
protected

event Queue

Definition at line 93 of file GNELoadThread.h.

Referenced by retrieveMessage(), and submitEndAndCleanup().

◆ myEventThrow

FXEX::MFXThreadEvent& GNELoadThread::myEventThrow
protected

event throw

Definition at line 96 of file GNELoadThread.h.

Referenced by retrieveMessage(), and submitEndAndCleanup().

◆ myFile

std::string GNELoadThread::myFile
protected

the path to load the network from

Definition at line 87 of file GNELoadThread.h.

Referenced by initOptions(), loadConfigOrNet(), run(), and submitEndAndCleanup().

◆ myGLDebugRetriever

OutputDevice * GNELoadThread::myGLDebugRetriever
protected

Definition at line 90 of file GNELoadThread.h.

Referenced by GNELoadThread(), run(), submitEndAndCleanup(), and ~GNELoadThread().

◆ myLoadNet

bool GNELoadThread::myLoadNet = false
protected

Information whether only the network shall be loaded.

Definition at line 99 of file GNELoadThread.h.

Referenced by initOptions(), loadConfigOrNet(), and run().

◆ myMessageRetriever

OutputDevice * GNELoadThread::myMessageRetriever
protected

Definition at line 90 of file GNELoadThread.h.

Referenced by GNELoadThread(), run(), submitEndAndCleanup(), and ~GNELoadThread().

◆ myNewNet

bool GNELoadThread::myNewNet = false
protected

if true, a new net is created

Definition at line 102 of file GNELoadThread.h.

Referenced by loadConfigOrNet(), and run().

◆ myParent

MFXInterThreadEventClient* GNELoadThread::myParent
protected

the parent window to inform about the loading

Definition at line 84 of file GNELoadThread.h.

◆ myWarningRetriever

OutputDevice * GNELoadThread::myWarningRetriever
protected

Definition at line 90 of file GNELoadThread.h.

Referenced by GNELoadThread(), run(), submitEndAndCleanup(), and ~GNELoadThread().


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