58e3c5d8c78685440d6f4169e4257923fb1b0704
[anna.git] / Menu.hpp
1 // ANNA - Anna is Not Nothingness Anymore                                                         //
2 //                                                                                                //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
4 //                                                                                                //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite                           //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7
8
9 #ifndef anna_test_Menu_hpp
10 #define anna_test_Menu_hpp
11
12 #include <anna/comm/Handler.hpp>
13
14 namespace anna {
15 namespace comm {
16 class SchedulerGuard;
17 }
18 }
19
20
21 namespace test {
22
23 class Menu : public anna::comm::Handler {
24 public:
25    static const char* EventData;
26
27    struct Data {
28       char a_operation;
29       int a_op1;
30       int a_op2;      
31    };   
32
33    Menu (anna::comm::Communicator*);
34
35    void paint () const ;
36
37 private:   
38    Data a_data;
39    int a_status;
40
41    void initialize () noexcept(false) {;}
42    void apply () noexcept(false);
43    void finalize () {;}
44
45 };
46
47 }
48
49 #endif
50