23 #ifndef SRC_CONFIGURATION_APPLICATIONSTATE_HPP_ 
   24 #define SRC_CONFIGURATION_APPLICATIONSTATE_HPP_ 
   26 #include <boost/atomic.hpp> 
   27 #include <boost/thread/mutex.hpp> 
   31 #include <system_utils/windows_extras.hpp>  
   41 namespace application {
 
  317 #define APP_STATE mic::application::ApplicationState::getInstance() 
  324 #define APP_SLEEP() usleep(APP_STATE->getSleepInterval()) 
  331 #define APP_DATA_SYNCHRONIZATION_SCOPED_LOCK() boost::mutex::scoped_lock lock(APP_STATE->dataSynchronizationMutex()) 
double getSleepInterval()
 
Contains declaration of the PropertyTree class. 
 
static ApplicationState * getInstance()
 
void divideSleepInterval(double d_=1.5)
 
Parent class for all classes possessing properties. Contains methods useful for their management...
 
Class storing the state of the application (modes, sleep interval etc.). Defined in the form of a sin...
 
void setSleepIntervalUS(double sleep_interval_in_microseconds)
 
Base class for all applications. 
 
mic::configuration::Property< double > application_sleep_interval
 
void setSleepInterval(double sleep_interval_)
 
mic::configuration::Property< bool > pause_mode
Property: pause application mode. 
 
double isSingleStepModeOn()
 
void setApplication(mic::application::Application *application_)
 
static boost::mutex instantiation_mutex
 
mic::configuration::Property< bool > learning_mode
Property: learning/testing mode. 
 
void setSleepIntervalS(double sleep_interval_in_seconds)
 
void multiplySleepInterval(double m_=1.5)
 
double isLearningModeOn()
 
mic::application::Application * application
 
bool using_ncurses
Flag denoting whether application is using NCurses-based CLI. 
 
static boost::atomic< ApplicationState * > instance_
 
void setLearningModeOff()
 
static boost::mutex external_data_synchronization_mutex
 
mic::configuration::Property< bool > single_step_mode
Property: single step mode. 
 
bool quit_flag
Quit application flag. 
 
void setSleepIntervalMS(double sleep_interval_in_miliseconds)
 
boost::mutex & dataSynchronizationMutex()
 
bool using_opengl
Flag denoting whether application is using OpenGL-based visualization. 
 
static boost::mutex internal_data_synchronization_mutex
 
virtual void initializePropertyDependentVariables()