- listenerclass* _t = static_cast<listenerclass*>(*_i); \
- const Module* _m = _t->GetModule(); \
- if (!_m || _m->dying) \
- continue; \
- result = _t->func params ; \
- if (result != MOD_RES_PASSTHRU) \
- break; \
+ const ::Events::ModuleEventProvider::SubscriberList& _handlers = (prov).GetSubscribers(); \
+ for (::Events::ModuleEventProvider::SubscriberList::const_iterator _i = _handlers.begin(); _i != _handlers.end(); ++_i) \
+ { \
+ listenerclass* _t = static_cast<listenerclass*>(*_i); \
+ const Module* _m = _t->GetModule(); \
+ if (!_m || _m->dying) \
+ continue; \
+ result = _t->func params ; \
+ if (result != MOD_RES_PASSTHRU) \
+ break; \
+ } \