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

Method remove

Engine/source/util/messaging/eventManager.cpp:327–349  ·  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

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

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