source: pacpusframework/trunk/include/Pacpus/DbitePlayer/DbtPlyEngineStateChart.h@ 64

Last change on this file since 64 was 64, checked in by Marek Kurdej, 11 years ago

Modified property: added svn:keywords=Id.

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1// This file is part of the PACPUS framework distributed under the
2// CECILL-C License, Version 1.0.
3//
4/// @author Elie Al Alam <firstname.surname@utc.fr>
5/// @author Gerald Dherbomez <firstname.surname@utc.fr>
6/// @author Marek Kurdej <firstname.surname@utc.fr>
7/// @date April, 2007
8/// @version $Id: DbtPlyEngineStateChart.h 64 2013-01-09 16:41:12Z kurdejma $
9/// @copyright Copyright (c) UTC/CNRS Heudiasyc 2006 - 2013. All rights reserved.
10/// @brief DbitePlayer state machine.
11///
12/// Detailed description.
13
14#ifndef DEF_PACPUS_DBTPLYENGINESTATECHART_H
15#define DEF_PACPUS_DBTPLYENGINESTATECHART_H
16
17#include <QString>
18
19#include <Pacpus/DbitePlayer/DbitePlayerConfig.h>
20
21namespace pacpus {
22
23class DbtPlyEngine;
24
25////////////////////////////////////////////////////////////////////////////////
26class DBITE_PLAYER_API DbtPlyEngineState
27{
28public:
29 /// @todo Documentation
30 virtual ~DbtPlyEngineState();
31
32 /// @todo Documentation
33 virtual void play(DbtPlyEngine & engine);
34 /// @todo Documentation
35 virtual void pause(DbtPlyEngine & engine);
36 /// @todo Documentation
37 virtual void stop(DbtPlyEngine & engine);
38
39 /// @todo Documentation
40 virtual void speedUp(DbtPlyEngine & engine);
41 /// @todo Documentation
42 virtual void speedDown(DbtPlyEngine & engine);
43
44 /// @todo Documentation
45 virtual bool isPlaying();
46
47 /// @todo Documentation
48 virtual QString toString() const = 0;
49
50protected:
51 /// @todo Documentation
52 DbtPlyEngineState();
53};
54
55////////////////////////////////////////////////////////////////////////////////
56class DBITE_PLAYER_API PlayingState
57 : public DbtPlyEngineState
58{
59public:
60 /// @todo Documentation
61 virtual void pause(DbtPlyEngine & engine);
62 /// @todo Documentation
63 virtual void stop(DbtPlyEngine & engine);
64
65 /// @todo Documentation
66 virtual bool isPlaying();
67
68 /// @todo Documentation
69 virtual QString toString() const;
70 /// @todo Documentation
71 static DbtPlyEngineState * getInstance();
72
73private:
74 PlayingState();
75 static PlayingState mInstance;
76};
77
78////////////////////////////////////////////////////////////////////////////////
79class DBITE_PLAYER_API PausedState
80 : public DbtPlyEngineState
81{
82public:
83 /// @todo Documentation
84 virtual void play(DbtPlyEngine & engine);
85 /// @todo Documentation
86 virtual void stop(DbtPlyEngine & engine);
87
88 /// @todo Documentation
89 virtual QString toString() const;
90 /// @todo Documentation
91 static DbtPlyEngineState * getInstance();
92
93private:
94 PausedState();
95 static PausedState mInstance;
96};
97
98////////////////////////////////////////////////////////////////////////////////
99class DBITE_PLAYER_API StoppedState
100 : public DbtPlyEngineState
101{
102public:
103 /// @todo Documentation
104 virtual void play(DbtPlyEngine & engine);
105
106 /// @todo Documentation
107 virtual QString toString() const;
108 /// @todo Documentation
109 static DbtPlyEngineState * getInstance();
110
111private:
112 StoppedState();
113 static StoppedState mInstance;
114};
115
116} // namespace pacpus
117
118#endif // DEF_PACPUS_DBTPLYENGINESTATECHART_H
Note: See TracBrowser for help on using the repository browser.