april  1.0.0
...
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
abstractapril.h
Go to the documentation of this file.
1 /* ========================================================================= */
2 /* ------------------------------------------------------------------------- *//*
12 
13 
14  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15  Please read COPYING and README files in root folder
16  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 */
18 /* ------------------------------------------------------------------------- */
19 /* ========================================================================= */
20 #ifndef __ABSTRACTAPRIL_INC__
21 #define __ABSTRACTAPRIL_INC__
22 //
23 //
24 //
25 //
26 /* INCLUDES ------------------------------------------------------------ */
27 
28 #include <april/april.h>
29 #include <april/cmd/commandmap.h>
30 
31 /* INCLUDES ============================================================ */
32 //
33 //
34 //
35 //
36 /* DEFINITIONS --------------------------------------------------------- */
37 
38 namespace april {
39 
40 class AprilModule;
41 
42 /* DEFINITIONS ========================================================= */
43 //
44 //
45 //
46 //
47 /* CLASS --------------------------------------------------------------- */
48 
52 class AbstractApril : public MemTrack {
53  BBM_TRACK( AbstractApril );
54 
55  //
56  //
57  //
58  //
59  /* DEFINITIONS ----------------------------------------------------- */
60 
61  /* DEFINITIONS ===================================================== */
62  //
63  //
64  //
65  //
66  /* DATA ------------------------------------------------------------ */
67 
68 private:
69 
71  CommandMap cmd_map;
72 
74  int exit_code_;
75 
77  static AbstractApril * uniq_;
78 
79  /* DATA ============================================================ */
80  //
81  //
82  //
83  //
84  /* FUNCTIONS ------------------------------------------------------- */
85 
86 private:
87 
89  AbstractApril ( void );
90 
92  virtual ~AbstractApril ( void );
93 
94 public:
95 
97  static int runMainLoop ( const QStringList & sl_init_files );
98 
100  static int executeCommands ( const QString & cmds );
101 
103  static int executeFile ( const QString & cmds );
104 
105 
107  static bool addCommand ( const QString & s_cmd, cmdCallBack kb );
108 
110  static bool remCommand ( const QString & s_cmd, cmdCallBack kb );
111 
113  static QStringList commands ( void );
114 
116  static void execute ( const QString & s_input )
117  { uniq_->cmd_map.execute( s_input ); }
118 
120  static bool addModule ( AprilModule * m );
121 
123  static bool remModule ( AprilModule * m );
124 
126  static QStringList modules ( void );
127 
128 
129 private:
130 
132  void init ( void );
133 
134 
135 
136  /* FUNCTIONS ======================================================= */
137  //
138  //
139  //
140  //
141 
142 }; /* class AbstractApril */
143 
144 /* CLASS =============================================================== */
145 //
146 //
147 //
148 //
149 
150 } // namespace april
151 
152 #endif // __ABSTRACTAPRIL_INC__
153 /* ------------------------------------------------------------------------- */
154 /* ========================================================================= */