38 lines
581 B
C++
38 lines
581 B
C++
#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 |