57 for (
int i(0), len(m_listeners.size()); i < len; ++i)
59 if (m_listeners[i].second)
61 delete m_listeners[i].first;
71 m_listeners.push_back(
Entry(listener, autoclean));
79 std::vector<Entry>::iterator it(m_listeners.begin());
80 for (; it != m_listeners.end(); ++it)
82 if ((*it).first == listener)
88 m_listeners.erase(it);
97 const cdrMemoryStream& cdrdata)
100 for (
int i(0), len(m_listeners.size()); i < len; ++i)
102 m_listeners[i].first->operator()(info, cdrdata);
121 Guard guard(m_mutex);
122 for (
int i(0), len(m_listeners.size()); i < len; ++i)
124 if (m_listeners[i].second)
126 delete m_listeners[i].first;
135 Guard guard(m_mutex);
136 m_listeners.push_back(
Entry(listener, autoclean));
142 Guard guard(m_mutex);
143 std::vector<Entry>::iterator it(m_listeners.begin());
145 for (; it != m_listeners.end(); ++it)
147 if ((*it).first == listener)
153 m_listeners.erase(it);
163 Guard guard(m_mutex);
164 for (
int i(0), len(m_listeners.size()); i < len; ++i)
166 m_listeners[i].first->operator()(info);
void removeListener(ConnectorListener *listener)
Remove the listener.
ConnectorDataListener class.
void addListener(ConnectorDataListener *listener, bool autoclean)
Add the listener.
ConnectorDataListenerHolder()
Constructor.
void removeListener(ConnectorDataListener *listener)
Remove the listener.
virtual ~ConnectorDataListener()
Destructor.
virtual ~ConnectorListenerHolder()
Destructor.
virtual ~ConnectorListener()
Destructor.
void addListener(ConnectorListener *listener, bool autoclean)
Add the listener.
std::pair< ConnectorListener *, bool > Entry
ConnectorListenerHolder()
Constructor.
std::pair< ConnectorDataListener *, bool > Entry
void notify(const ConnectorInfo &info, const cdrMemoryStream &cdrdata)
Notify listeners.
virtual ~ConnectorDataListenerHolder()
Destructor.
void notify(const ConnectorInfo &info)
Notify listeners.