• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2010 Christophe Henry
2 // henry UNDERSCORE christophe AT hotmail DOT com
3 // This is an extended version of the state machine available in the boost::mpl library
4 // Distributed under the same license as the original.
5 // Copyright for the original version:
6 // Copyright 2005 David Abrahams and Aleksey Gurtovoy. Distributed
7 // under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at
9 // http://www.boost.org/LICENSE_1_0.txt)
10 
11 #ifndef EVENTS_HPP
12 #define EVENTS_HPP
13 
14 // events
15 struct play {};
16 struct end_pause {};
17 struct stop {};
18 struct pause {};
19 struct open_close {};
20 
21 // A "complicated" event type that carries some data.
22 enum DiskTypeEnum
23 {
24     DISK_CD=0,
25     DISK_DVD=1
26 };
27 struct cd_detected
28 {
cd_detectedcd_detected29     cd_detected(std::string name, DiskTypeEnum diskType)
30         : name(name),
31         disc_type(diskType)
32     {}
33 
34     std::string name;
35     DiskTypeEnum disc_type;
36 };
37 
38 
39 #endif
40