00001 00020 #include "signal.h" 00021 00022 Resetable::~Resetable(void) { 00023 if (m_observers) 00024 delete m_observers; 00025 } 00026 00027 void Resetable::appendSignal(IReset *obj) { 00028 if (m_observers == NULL) { 00029 m_observers = new list<IReset*>; 00030 } 00031 m_observers->push_back(obj); 00032 } 00033 00034 void Resetable::clearSignal(void) { 00035 if (m_observers) 00036 m_observers->clear(); 00037 } 00038 00039 void Resetable::reset(void) { 00040 list<IReset*>::iterator item; 00041 00042 if (m_observers == NULL) 00043 return; 00044 00045 for (item = m_observers->begin(); item != m_observers->end(); 00046 item++) { 00047 (*item)->reset(); 00048 } 00049 00050 realReset(); 00051 } 00052 00053 void Resetable::clear(void) { 00054 list<IReset *>::iterator item; 00055 00056 if (m_observers == NULL) 00057 return; 00058 00059 for (item = m_observers->begin(); item != m_observers->end(); 00060 item++) { 00061 (*item)->clear(); 00062 } 00063 00064 realClear(); 00065 }