MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / remove

Method remove

Engine/source/util/messaging/eventManager.cpp:328–350  ·  view source on GitHub ↗

CodeReview [tom, 2/20/2007] The "listener" argument was an IMessageListener, but it was actually used as a SimObject and never a listener. Thus, it is now a SimObject.

Source from the content-addressed store, hash-verified

326// CodeReview [tom, 2/20/2007] The "listener" argument was an IMessageListener,
327// but it was actually used as a SimObject and never a listener. Thus, it is now a SimObject.
328void EventManager::remove(SimObject *cbObj, const char* event)
329{
330 // If the event doesn't exist, we have succeeded in removing it!
331 if( !isRegisteredEvent( event ) )
332 return;
333
334 Vector<EventManagerListener::Subscriber>* subscribers = mListener.mSubscribers.retreive( event );
335 if( !subscribers )
336 return;
337
338 for( Vector<EventManagerListener::Subscriber>::iterator iter = subscribers->begin(); iter != subscribers->end(); iter++ )
339 {
340 // Erase the event.
341 if( iter->listener == cbObj )
342 {
343 if (iter->callDepth > 0)
344 iter->removeFlag = true;
345 else
346 subscribers->erase_fast( iter );
347 break;
348 }
349 }
350}
351
352void EventManager::removeAll(SimObject *cbObj)
353{

Callers 4

unregisterAllEventsMethod · 0.45
unregisterEventMethod · 0.45
eventManager.cppFile · 0.45
unregisterMessageQueueFunction · 0.45

Calls 4

erase_fastMethod · 0.80
retreiveMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected