]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/msm/doc/HTML/examples/FsmAsPtr.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / msm / doc / HTML / examples / FsmAsPtr.hpp
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 FSM_AS_PTR_H
12 #define FSM_AS_PTR_H
13
14 #include <boost/shared_ptr.hpp>
15
16 class player
17 {
18 public:
19 player();
20 virtual ~player(){}
21
22 // public interface
23 void do_play();
24 void do_pause();
25 void do_open_close();
26 void do_end_pause();
27 void do_stop();
28 void do_cd_detected();
29
30 private:
31 // my state machine, hidden
32 boost::shared_ptr<void> fsm_;
33
34 };
35
36 #endif //FSM_AS_PTR_H