Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

event_listener_generic.cpp

Go to the documentation of this file.
00001 
00002 #include "Core/precomp.h"
00003 #include "event_listener_generic.h"
00004 #include "event_trigger_generic.h"
00005 
00007 // CL_EventListener_Generic construction:
00008 
00009 CL_EventListener_Generic::CL_EventListener_Generic(CL_EventListener *owner)
00010 : owner(owner)
00011 {
00012 }
00013 
00014 CL_EventListener_Generic::~CL_EventListener_Generic()
00015 {
00016         clear();
00017 }
00018 
00020 // CL_EventListener_Generic attributes:
00021 
00023 // CL_EventListener_Generic operations:
00024 
00025 void CL_EventListener_Generic::add_trigger(const CL_EventTrigger *trigger)
00026 {
00027         CL_EventTrigger_Generic *trigger_impl = trigger->impl;
00028         triggers.push_back(trigger_impl);
00029         trigger_impl->add_ref();
00030 }
00031 
00032 void CL_EventListener_Generic::remove_trigger(const CL_EventTrigger *trigger)
00033 {
00034         CL_EventTrigger_Generic *trigger_impl = trigger->impl;
00035         triggers.remove(trigger_impl);
00036         trigger_impl->release_ref();
00037 }
00038 
00039 void CL_EventListener_Generic::clear()
00040 {
00041         std::list<CL_EventTrigger_Generic *>::iterator it;
00042         for (it = triggers.begin(); it != triggers.end(); it++) (*it)->release_ref();
00043 
00044         triggers = std::list<CL_EventTrigger_Generic *>();
00045 }
00046 
00047 void CL_EventListener_Generic::reset_all()
00048 {
00049         std::list<CL_EventTrigger_Generic *>::iterator it;
00050         for (it = triggers.begin(); it != triggers.end(); it++) (*it)->reset();
00051 }
00052 
00054 // CL_EventListener_Generic implementation:

Generated at Wed Apr 4 19:54:00 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001