MythTV
0.27pre
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Groups
Pages
libs
libmythfreemheg
Presentable.h
Go to the documentation of this file.
1
/* Presentable.h
2
3
Copyright (C) David C. J. Matthews 2004 dm at prolingua.co.uk
4
5
This program is free software; you can redistribute it and/or
6
modify it under the terms of the GNU General Public License
7
as published by the Free Software Foundation; either version 2
8
of the License, or (at your option) any later version.
9
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with this program; if not, write to the Free Software
17
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
Or, point your browser to http://www.gnu.org/copyleft/gpl.html
19
20
*/
21
22
23
#if !defined(PRESENTABLE_H)
24
#define PRESENTABLE_H
25
26
#include "
Ingredients.h
"
27
// Dependencies
28
#include "
Root.h
"
29
#include "
BaseClasses.h
"
30
#include "
BaseActions.h
"
31
#include "
Actions.h
"
32
33
34
class
MHPresentable
:
public
MHIngredient
35
{
36
public
:
37
MHPresentable
() {}
38
MHPresentable
(
const
MHPresentable
&ref):
MHIngredient
(ref) {}
39
// No new components.
40
41
// Actions.
42
virtual
void
Run
(
MHEngine
*engine);
43
virtual
void
Stop
(
MHEngine
*engine);
44
45
// Additional actions for stream components.
46
virtual
void
BeginPlaying
(
MHEngine
*) {}
47
virtual
void
StopPlaying
(
MHEngine
*) {}
48
};
49
50
// Run and stop actions.
51
class
MHRun
:
public
MHElemAction
52
{
53
public
:
54
MHRun
():
MHElemAction
(
":Run"
) {}
55
virtual
void
Perform
(
MHEngine
*engine) {
Target
(engine)->
Run
(engine); }
56
};
57
58
class
MHStop
:
public
MHElemAction
59
{
60
public
:
61
MHStop
():
MHElemAction
(
":Stop"
) {}
62
virtual
void
Perform
(
MHEngine
*engine) {
Target
(engine)->
Stop
(engine); }
63
};
64
65
#endif
Generated on Thu May 23 2013 06:59:58 for MythTV by
1.8.1.2