The Gaudi Framework  v32r2 (46d42edc)
Application.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Gaudi/PluginService.h>
5 #include <GaudiKernel/SmartIF.h>
6 #include <map>
7 #include <string>
8 #include <string_view>
9 
10 namespace Gaudi {
17  class Application {
18  public:
20  using Factory = Gaudi::PluginService::Factory<Application( Options )>;
21 
24  virtual ~Application();
25 
27  static Factory::ReturnType create( std::string_view type, Options opts );
28 
33  virtual int run();
34 
36  int run( std::function<int( SmartIF<IStateful>& )> action ) { return action( app ); }
37 
38  protected:
41  };
42 } // namespace Gaudi
virtual int run()
Implement the application main logic:
Definition: Application.cpp:70
Gaudi::PluginService::Factory< Application(Options)> Factory
Definition: Application.h:20
SmartIF< IStateful > app
Handle to the ApplicationMgr instance.
Definition: Application.h:40
def create(cls, appType, opts)
Definition: __init__.py:86
Application(Options opts)
Construct and configure the application from the provided options.
Definition: Application.cpp:41
virtual ~Application()
Definition: Application.cpp:68
int run(std::function< int(SmartIF< IStateful > &)> action)
Run a user provided implementation of the application main logic.
Definition: Application.h:36
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1