16 class DataSourcePlugin ;
30 using EventList = std::vector<std::shared_ptr<EventStore>> ;
45 static int main(
int argc,
char**argv ) ;
53 void init(
int argc,
char **argv ) ;
127 void onEventRead( std::shared_ptr<EventStore> event ) ;
const std::string & programName() const
Get the program name.
DataSource _dataSource
The data source plugin.
Logger createLogger(const std::string &name) const
Create a new logger instance.
const CmdLineParseResult & cmdLineParseResult() const
Get the command line parsing result (after init)
BookStoreManager & bookStoreManager()
Get book store manager.
BookStoreManager _bookStoreManager
Managed data object shared between threads.
Configuration _configuration
The main application configuration.
void dumpExampleConfig()
Dump an example configuation.
void onRunHeaderRead(std::shared_ptr< RunHeader > rhdr)
Callback function to process a run header received from the data source.
std::shared_ptr< DataSourcePlugin > DataSource
const RandomSeedManager & randomSeedManager() const
Get the random seed manager.
RandomSeedManager _randomSeedMgr
The random seed manager.
Application class Base application interface for running a Marlin application.
ConditionsMap _conditions
Initial processor runtime conditions from steering file.
void processFinishedEvents(const EventList &events) const
Processed finished events from the output queue.
static int main(int argc, char **argv)
Create and run an application.
const GeometryManager & geometryManager() const
Get the geometry manager.
bool _initialized
Whether the application has been initialized.
GeometryManager _geometryMgr
The geometry manager.
void onEventRead(std::shared_ptr< EventStore > event)
Callback function to process an event received from the data source.
Scheduler _scheduler
The event processing scheduler instance.
bool isInitialized() const
Whether the application has been initialized.
std::vector< std::shared_ptr< EventStore > > EventList
std::shared_ptr< streamlog::logstreamT< mutex_type > > Logger
ParseResult struct. The result of the command line parsing.
std::shared_ptr< IScheduler > Scheduler
LoggerManager class Responsible for configuring logger for a given application.
void init(int argc, char **argv)
Initialize the application.
std::map< std::string, std::string > ConditionsMap
void run()
Run the application.
Logger logger() const
Get the application logger instance.
CmdLineParser::ParseResult _parseResult
The command line parse result.
LoggerManager _loggerMgr
The logger manager.
const Configuration & configuration() const
Get the main application configuration object.