summaryrefslogtreecommitdiffhomepage
path: root/X-Plane-SDK/CHeaders/Wrappers/XPCBroadcaster.h
blob: 8f34a050a14d363d6209b9b26f780190029c8042 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef _XPCBroadcaster_h_
#define _XPCBroadcaster_h_

#include <vector>
#include <algorithm>

class	XPCListener;

class	XPCBroadcaster {
public:

						XPCBroadcaster();
	virtual				~XPCBroadcaster();
	
			void		AddListener(
							XPCListener *	inListener);
			void		RemoveListener(
							XPCListener *	inListener);
	
protected:

			void		BroadcastMessage(
							int			inMessage,
							void *		inParam=0);

private:

	typedef	std::vector<XPCListener *>	ListenerVector;
	
		ListenerVector	mListeners;

	// Reentrancy support
	
	ListenerVector::iterator *	mIterator;

};

#endif