Free Electron
ConfiguredApplication.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __architecture_ConfiguredApplication_h__
8 #define __architecture_ConfiguredApplication_h__
9 
10 #include <datatool/datatool.h>
11 namespace fe
12 {
13 namespace ext
14 {
15 
16 /** Mix of ApplicationI and ConfigI
17  */
18 class FE_DL_EXPORT ConfiguredApplication
19  : virtual public ApplicationI,
20  virtual public Config,
21  public Initialize<ConfiguredApplication>
22 {
23  public:
25 virtual ~ConfiguredApplication(void);
26  void initialize(void);
27 
28  // AS ApplicationI
29 virtual void setup(int a_argc, char **a_argv, char** a_env);
30 virtual bool step(int &a_returnCode);
31 virtual bool loop(int &a_returnCode);
32 
33  void manageDirectory(const String &dirname);
34 
35  protected:
36  std::vector<String> m_args;
37  String m_rootPath;
38  String m_pluginPath;
39  Record m_seq_hb;
40  sp<SignalerI> m_spAppSignaler;
41  SystemTicker m_ticker;
42  sp<Scope> m_scope;
43 };
44 
45 } /* namespace ext */
46 } /* namespace fe */
47 
48 #endif /* __architecture_ConfiguredApplication_h__ */
49 
Convienience base class for specification and use of path accessors.
Definition: Config.h:19
application framework interface
Definition: ApplicationI.h:16
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
High precision timer.
Definition: SystemTicker.h:174
Automatically reference-counted string container.
Definition: String.h:128
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Mix of ApplicationI and ConfigI.
Definition: ConfiguredApplication.h:18