OSVR-Core
|
Base class for implementations of a RunLoopManager that use various synchronization libraries. More...
#include <RunLoopManager.h>
Public Types | |
enum | RunningState { STATE_STOPPED, STATE_STARTING, STATE_RUNNING } |
Public Member Functions | |
Starting Interface | |
Set up internal state to allow the run loop to start. | |
virtual void | signalStart ()=0 |
virtual void | signalAndWaitForStart ()=0 |
Set up for run loop to start, then block until we have confirmation that the run loop is running. More... | |
ShutdownInterface | |
Send a message to the run loop that it should stop. | |
virtual void | signalShutdown ()=0 |
virtual void | signalAndWaitForShutdown ()=0 |
Send a message to the run loop that it should stop, and wait until it does. More... | |
Loop Interface | |
Methods called from within the run loop or by a helper class. Notify the run loop manager that the run loop is now starting but not yet running. | |
void | reportStarting () |
void | reportRunning () |
Notify the run loop manager that the run loop is now running. | |
bool | shouldContinue () |
void | reportStopped () |
Protected Member Functions | |
virtual void | reportStateChange_ (RunningState s)=0 |
Changes the internal state variable (under mutex protection) and notifies anyone who might be waiting on a condition change. More... | |
void | setShouldStop_ (bool value) |
internal utility function. More... | |
Base class for implementations of a RunLoopManager that use various synchronization libraries.
|
protectedpure virtual |
Changes the internal state variable (under mutex protection) and notifies anyone who might be waiting on a condition change.
|
inlineprotected |
internal utility function.
shared implementation provided
|
pure virtual |
Send a message to the run loop that it should stop, and wait until it does.
Implements util::ShutdownInterface.
Implemented in util::RunLoopManagerBoost, and util::RunLoopManagerStd.
|
pure virtual |
Set up for run loop to start, then block until we have confirmation that the run loop is running.
Implements util::StartingInterface.
Implemented in util::RunLoopManagerBoost, and util::RunLoopManagerStd.