b64013fd1c3e05eda0cfc3e3efb8893817232c74
[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  * This file is part of DevLib - See README.devlib for information.
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.4  2006/02/15 09:11:17  bernie
19  *#* Add keyboard emulator.
20  *#*
21  *#* Revision 1.3  2006/01/23 23:12:08  bernie
22  *#* Let Doxygen see through C++ protected section.
23  *#*
24  *#* Revision 1.2  2006/01/16 03:51:51  bernie
25  *#* Fix boilerplate.
26  *#*
27  *#* Revision 1.1  2006/01/16 03:37:12  bernie
28  *#* Add emulator skeleton.
29  *#*
30  *#*/
31
32 #ifndef EMUL_EMUL_H
33 #define EMUL_EMUL_H
34
35 #include <cfg/compiler.h>
36
37 #if defined(__cplusplus) || defined(__doxygen__)
38
39 // fwd decls
40 class QApplication;
41 class EmulWin;
42 class EmulPRT;
43 class EmulLCD;
44 class EmulKbd;
45 class QCheckBox;
46 class QSlider;
47 class QLabel;
48
49 class Emulator
50 {
51 // data members
52 public:
53         QApplication  *emulApp; ///< QT Application.
54         EmulWin       *emulWin; ///< Main window.
55
56         EmulLCD       *emulLCD; ///< Display emulator.
57         EmulKbd       *emulKbd; ///< Keyboard emulator.
58
59 // construction
60         Emulator(int &argc, char **argv);
61         ~Emulator();
62
63 // public methods
64         int exec(void (*entry)(void));
65         void quit();
66 };
67
68 extern Emulator *emul;
69
70 #endif /* __cplusplus */
71
72 EXTERN_C void emul_init(int *argc, char *argv[]);
73 EXTERN_C void emul_cleanup();
74 EXTERN_C void emul_idle();
75
76 #endif /* EMUL_EMUL_H */
77