Add emulator skeleton.
[bertos.git] / emul / emul.h
1 /**
2  * \file
3  * <!--
4  * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
5  * Copyright 2000, 2001 Bernardo Innocenti <bernie@codewiz.org>
6  * All Rights Reserved.
7  * -->
8  *
9  * \version $Id$
10  *
11  * \author Bernardo Innocenti <bernie@develer.com>
12  *
13  * \brief Qt-based emulator framework for embedded applications (interface)
14  */
15
16 /*#*
17  *#* $Log$
18  *#* Revision 1.1  2006/01/16 03:37:12  bernie
19  *#* Add emulator skeleton.
20  *#*
21  *#*/
22
23 #ifndef EMUL_EMUL_H
24 #define EMUL_EMUL_H
25
26 #include <cfg/compiler.h>
27
28 #ifdef __cplusplus
29
30 // fwd decls
31 class QApplication;
32 class EmulWin;
33 class EmulPRT;
34 class EmulLCD;
35 class EmulKBD;
36 class QCheckBox;
37 class QSlider;
38 class QLabel;
39
40 class Emulator
41 {
42 // data members
43 public:
44         QApplication    *emulApp;       ///< QT Application.
45         EmulWin                 *emulWin;       ///< Main window.
46
47         EmulLCD                 *emulLCD;       ///< Display emulator.
48         EmulKBD                 *emulKBD;       ///< Keyboard emulator.
49
50 // construction
51         Emulator(int &argc, char **argv);
52         ~Emulator();
53
54 // public methods
55         int exec(void (*entry)(void));
56         void quit();
57 };
58
59 extern Emulator *emul;
60
61 #endif /* __cplusplus */
62
63 EXTERN_C void emul_init(int *argc, char *argv[]);
64 EXTERN_C void emul_cleanup();
65 EXTERN_C void emul_idle();
66
67 #endif /* EMUL_EMUL_H */
68