#ifndef _TREACTORUNLOCKSWITCH_H__ #define _TREACTORUNLOCKSWITCH_H__ template class TReactorUnlockSwitch { public: TReactorUnlockSwitch(T1* pOwner,T2* pReactor) { m_pOwner = NULL; m_pReactor = NULL; if (pOwner != NULL && pReactor != NULL) { pOwner->removeReactor(pReactor); m_pReactor = pReactor; m_pOwner = pOwner; } } ~TReactorUnlockSwitch() { if (m_pOwner != NULL && m_pReactor != NULL) { m_pOwner->addReactor(m_pReactor); } } private: T1* m_pOwner; T2* m_pReactor; }; #endif