diff options
Diffstat (limited to 'indra/llcommon/lleventemitter.h')
-rw-r--r-- | indra/llcommon/lleventemitter.h | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/indra/llcommon/lleventemitter.h b/indra/llcommon/lleventemitter.h index cd82fc56f9..14160e1e76 100644 --- a/indra/llcommon/lleventemitter.h +++ b/indra/llcommon/lleventemitter.h @@ -1,25 +1,25 @@ -/** +/** * @file lleventemitter.h * @brief General event emitter class * * $LicenseInfo:firstyear=2005&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -38,65 +38,65 @@ #include "stdtypes.h" /////////////////////////////////////////////////////////////////////////////// -// templatized emitter class +// templatized emitter class template < class T > class eventEmitter { - public: - typedef typename T::EventType EventType; - typedef std::list< T* > ObserverContainer; - typedef void ( T::*observerMethod )( const EventType& ); + public: + typedef typename T::EventType EventType; + typedef std::list< T* > ObserverContainer; + typedef void ( T::*observerMethod )( const EventType& ); - protected: - ObserverContainer observers; + protected: + ObserverContainer observers; - public: - eventEmitter () { }; + public: + eventEmitter () { }; - ~eventEmitter () { }; + ~eventEmitter () { }; - /////////////////////////////////////////////////////////////////////////////// - // - BOOL addObserver ( T* observerIn ) - { - if ( ! observerIn ) - return FALSE; + /////////////////////////////////////////////////////////////////////////////// + // + BOOL addObserver ( T* observerIn ) + { + if ( ! observerIn ) + return FALSE; - // check if observer already exists - if ( std::find ( observers.begin (), observers.end (), observerIn ) != observers.end () ) - return FALSE; + // check if observer already exists + if ( std::find ( observers.begin (), observers.end (), observerIn ) != observers.end () ) + return FALSE; - // save it - observers.push_back ( observerIn ); + // save it + observers.push_back ( observerIn ); - return true; - }; + return true; + }; - /////////////////////////////////////////////////////////////////////////////// - // - BOOL remObserver ( T* observerIn ) - { - if ( ! observerIn ) - return FALSE; + /////////////////////////////////////////////////////////////////////////////// + // + BOOL remObserver ( T* observerIn ) + { + if ( ! observerIn ) + return FALSE; - observers.remove ( observerIn ); + observers.remove ( observerIn ); - return TRUE; - }; + return TRUE; + }; - /////////////////////////////////////////////////////////////////////////////// - // - void update ( observerMethod method, const EventType& msgIn ) - { - typename std::list< T* >::iterator iter = observers.begin (); + /////////////////////////////////////////////////////////////////////////////// + // + void update ( observerMethod method, const EventType& msgIn ) + { + typename std::list< T* >::iterator iter = observers.begin (); - while ( iter != observers.end () ) - { - ( ( *iter )->*method ) ( msgIn ); + while ( iter != observers.end () ) + { + ( ( *iter )->*method ) ( msgIn ); - ++iter; - }; - }; + ++iter; + }; + }; }; #endif // lleventemitter_h |