Async
0.18.0
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
include
AsyncAudioSelector.h
Go to the documentation of this file.
1
28
#ifndef ASYNC_AUDIO_SELECTOR_INCLUDED
29
#define ASYNC_AUDIO_SELECTOR_INCLUDED
30
31
32
/****************************************************************************
33
*
34
* System Includes
35
*
36
****************************************************************************/
37
38
#include <map>
39
40
41
/****************************************************************************
42
*
43
* Project Includes
44
*
45
****************************************************************************/
46
47
#include <
AsyncAudioSource.h
>
48
49
50
/****************************************************************************
51
*
52
* Local Includes
53
*
54
****************************************************************************/
55
56
57
58
/****************************************************************************
59
*
60
* Forward declarations
61
*
62
****************************************************************************/
63
64
65
66
/****************************************************************************
67
*
68
* Namespace
69
*
70
****************************************************************************/
71
72
namespace
Async
73
{
74
75
76
/****************************************************************************
77
*
78
* Forward declarations of classes inside of the declared namespace
79
*
80
****************************************************************************/
81
82
83
84
/****************************************************************************
85
*
86
* Defines & typedefs
87
*
88
****************************************************************************/
89
90
91
92
/****************************************************************************
93
*
94
* Exported Global Variables
95
*
96
****************************************************************************/
97
98
99
100
/****************************************************************************
101
*
102
* Class definitions
103
*
104
****************************************************************************/
105
114
class
AudioSelector
:
public
AudioSource
115
{
116
public
:
120
AudioSelector
(
void
);
121
125
~AudioSelector
(
void
);
126
131
void
addSource
(
AudioSource
*source);
132
137
void
removeSource
(
AudioSource
*source);
138
144
void
setSelectionPrio
(
AudioSource
*source,
int
prio);
145
151
void
enableAutoSelect
(
AudioSource
*source,
int
prio);
152
157
void
disableAutoSelect
(
AudioSource
*source);
158
165
bool
autoSelectEnabled
(
AudioSource
*source);
166
171
void
selectSource
(
AudioSource
*source);
172
173
174
protected
:
175
176
private
:
177
class
Branch
;
178
typedef
std::map<Async::AudioSource *, Branch *> BranchMap;
179
class
NullBranch;
180
181
BranchMap branch_map;
182
NullBranch *null_branch;
183
184
AudioSelector
(
const
AudioSelector
&);
185
AudioSelector
& operator=(
const
AudioSelector
&);
186
void
selectBranch(
Branch
*branch);
187
188
friend
class
Branch
;
189
190
};
/* class AudioSelector */
191
192
193
}
/* namespace */
194
195
#endif
/* ASYNC_AUDIO_SELECTOR_INCLUDED */
196
197
198
199
/*
200
* This file has not been truncated
201
*/
202
Generated by
1.8.3