Annotation of truecrypt/platform/event.cpp, revision 1.1.1.1

1.1       root        1: #include "Event.h"
                      2: 
                      3: namespace TrueCrypt
                      4: {
                      5:        void Event::Connect (const EventConnectorBase &connector)
                      6:        {
                      7:                ScopeLock lock (HandlersMutex);
                      8:                ConnectedHandlers.push_back (shared_ptr <EventConnectorBase> (connector.CloneNew()));
                      9:        }
                     10:        
                     11:        void Event::Disconnect (void *handler)
                     12:        {
                     13:                ScopeLock lock (HandlersMutex);
                     14: 
                     15:                EventHandlerList newConnectedHandlers;
                     16:                foreach (shared_ptr <EventConnectorBase> h, ConnectedHandlers)
                     17:                {
                     18:                        if (h->GetHandler() != handler)
                     19:                                newConnectedHandlers.push_back (h);
                     20:                }
                     21: 
                     22:                ConnectedHandlers = newConnectedHandlers;
                     23:        }
                     24: 
                     25:        void Event::Raise ()
                     26:        {
                     27:                EventArgs args;
                     28:                Raise (args);
                     29:        }
                     30: 
                     31:        void Event::Raise (EventArgs &args)
                     32:        {
                     33:                ScopeLock lock (HandlersMutex);
                     34:                foreach_ref (EventConnectorBase &handler, ConnectedHandlers)
                     35:                {
                     36:                        handler (args);
                     37:                }
                     38:        }
                     39: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.