VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Platform/Event.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Platform/Event.h')
-rw-r--r--src/Platform/Event.h160
1 files changed, 80 insertions, 80 deletions
diff --git a/src/Platform/Event.h b/src/Platform/Event.h
index bdfc67da..b28bc90d 100644
--- a/src/Platform/Event.h
+++ b/src/Platform/Event.h
@@ -8,83 +8,83 @@
and are governed by the Apache License 2.0 the full text of which is
contained in the file License.txt included in VeraCrypt binary and source
code distribution packages.
-*/
-
-#ifndef TC_HEADER_Platform_Event
-#define TC_HEADER_Platform_Event
-
-#include "PlatformBase.h"
-#include "ForEach.h"
-#include "Mutex.h"
-#include "SharedPtr.h"
-
-namespace VeraCrypt
-{
- struct EventArgs
- {
- virtual ~EventArgs () { }
- };
-
- class EventConnectorBase
- {
- public:
- virtual ~EventConnectorBase () { }
- virtual void operator() (EventArgs &args) = 0;
-
- virtual EventConnectorBase *CloneNew () const = 0;
- virtual void *GetHandler () const = 0;
- };
-
- typedef list < shared_ptr <EventConnectorBase> > EventHandlerList;
-
- template <class T>
- class EventConnector : public EventConnectorBase
- {
- public:
- typedef void (T::*EventHandlerFunction) (EventArgs &);
-
- EventConnector (T *handler, EventHandlerFunction function)
- : Handler (handler), Function (function) { }
-
- virtual void operator() (EventArgs &args) { (Handler->*Function) (args); }
-
- virtual EventConnectorBase *CloneNew () const { return new EventConnector <T> (*this); }
- virtual void *GetHandler () const { return Handler; }
-
- protected:
- T *Handler;
- EventHandlerFunction Function;
- };
-
- class Event
- {
- public:
- Event () { }
- virtual ~Event () { }
-
- void Connect (const EventConnectorBase &connector);
- void Disconnect (void *handler);
- void Raise ();
- void Raise (EventArgs &args);
-
- protected:
- EventHandlerList ConnectedHandlers;
- Mutex HandlersMutex;
-
- private:
- Event (const Event &);
- Event &operator= (const Event &);
- };
-
- struct ExceptionEventArgs : public EventArgs
- {
- ExceptionEventArgs (exception &ex) : mException (ex) { }
- exception &mException;
-
- private:
- ExceptionEventArgs (const ExceptionEventArgs &);
- ExceptionEventArgs &operator= (const ExceptionEventArgs &);
- };
-}
-
-#endif // TC_HEADER_Platform_Event
+*/
+
+#ifndef TC_HEADER_Platform_Event
+#define TC_HEADER_Platform_Event
+
+#include "PlatformBase.h"
+#include "ForEach.h"
+#include "Mutex.h"
+#include "SharedPtr.h"
+
+namespace VeraCrypt
+{
+ struct EventArgs
+ {
+ virtual ~EventArgs () { }
+ };
+
+ class EventConnectorBase
+ {
+ public:
+ virtual ~EventConnectorBase () { }
+ virtual void operator() (EventArgs &args) = 0;
+
+ virtual EventConnectorBase *CloneNew () const = 0;
+ virtual void *GetHandler () const = 0;
+ };
+
+ typedef list < shared_ptr <EventConnectorBase> > EventHandlerList;
+
+ template <class T>
+ class EventConnector : public EventConnectorBase
+ {
+ public:
+ typedef void (T::*EventHandlerFunction) (EventArgs &);
+
+ EventConnector (T *handler, EventHandlerFunction function)
+ : Handler (handler), Function (function) { }
+
+ virtual void operator() (EventArgs &args) { (Handler->*Function) (args); }
+
+ virtual EventConnectorBase *CloneNew () const { return new EventConnector <T> (*this); }
+ virtual void *GetHandler () const { return Handler; }
+
+ protected:
+ T *Handler;
+ EventHandlerFunction Function;
+ };
+
+ class Event
+ {
+ public:
+ Event () { }
+ virtual ~Event () { }
+
+ void Connect (const EventConnectorBase &connector);
+ void Disconnect (void *handler);
+ void Raise ();
+ void Raise (EventArgs &args);
+
+ protected:
+ EventHandlerList ConnectedHandlers;
+ Mutex HandlersMutex;
+
+ private:
+ Event (const Event &);
+ Event &operator= (const Event &);
+ };
+
+ struct ExceptionEventArgs : public EventArgs
+ {
+ ExceptionEventArgs (exception &ex) : mException (ex) { }
+ exception &mException;
+
+ private:
+ ExceptionEventArgs (const ExceptionEventArgs &);
+ ExceptionEventArgs &operator= (const ExceptionEventArgs &);
+ };
+}
+
+#endif // TC_HEADER_Platform_Event