openshot-audio
0.1.7
JuceLibraryCode
modules
juce_events
broadcasters
juce_ActionBroadcaster.h
Go to the documentation of this file.
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2015 - ROLI Ltd.
6
7
Permission is granted to use this software under the terms of either:
8
a) the GPL v2 (or any later version)
9
b) the Affero GPL v3
10
11
Details of these licenses can be found at: www.gnu.org/licenses
12
13
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16
17
------------------------------------------------------------------------------
18
19
To release a closed-source product which uses JUCE, commercial licenses are
20
available: visit www.juce.com for more information.
21
22
==============================================================================
23
*/
24
25
#ifndef JUCE_ACTIONBROADCASTER_H_INCLUDED
26
#define JUCE_ACTIONBROADCASTER_H_INCLUDED
27
28
29
//==============================================================================
37
class
JUCE_API
ActionBroadcaster
38
{
39
public
:
40
//==============================================================================
42
ActionBroadcaster
();
43
45
virtual
~
ActionBroadcaster
();
46
47
//==============================================================================
51
void
addActionListener (
ActionListener
* listener);
52
56
void
removeActionListener (
ActionListener
* listener);
57
59
void
removeAllActionListeners();
60
61
//==============================================================================
65
void
sendActionMessage (
const
String
& message)
const
;
66
67
68
private
:
69
//==============================================================================
70
friend
class
WeakReference
<
ActionBroadcaster
>;
71
WeakReference<ActionBroadcaster>::Master
masterReference;
72
73
class
ActionMessage
;
74
friend
class
ActionMessage
;
75
76
SortedSet<ActionListener*>
actionListeners;
77
CriticalSection
actionListenerLock;
78
79
JUCE_DECLARE_NON_COPYABLE
(
ActionBroadcaster
)
80
};
81
82
83
#endif // JUCE_ACTIONBROADCASTER_H_INCLUDED
ActionBroadcaster::ActionMessage
Definition:
juce_ActionBroadcaster.cpp:25
String
Definition:
juce_String.h:43
JUCE_API
#define JUCE_API
Definition:
juce_StandardHeader.h:139
CriticalSection
Definition:
juce_CriticalSection.h:47
SortedSet< ActionListener * >
ActionBroadcaster
Definition:
juce_ActionBroadcaster.h:37
ActionListener
Definition:
juce_ActionListener.h:35
JUCE_DECLARE_NON_COPYABLE
#define JUCE_DECLARE_NON_COPYABLE(className)
Definition:
juce_PlatformDefs.h:191
WeakReference
Definition:
juce_WeakReference.h:82
Generated by
1.8.17