summaryrefslogtreecommitdiff
path: root/dnn/Trigger.h
diff options
context:
space:
mode:
authorchatty1994-03-14 08:40:16 +0000
committerchatty1994-03-14 08:40:16 +0000
commit33c173febd67cf6b558eb86ba552dc9369ab4b24 (patch)
tree0af984e138144b6ff9d8ec98b0ea7245dd003bef /dnn/Trigger.h
parent1ed65383fc2b49e22929862dd5705c93f79a60c2 (diff)
downloadivy-league-33c173febd67cf6b558eb86ba552dc9369ab4b24.zip
ivy-league-33c173febd67cf6b558eb86ba552dc9369ab4b24.tar.gz
ivy-league-33c173febd67cf6b558eb86ba552dc9369ab4b24.tar.bz2
ivy-league-33c173febd67cf6b558eb86ba552dc9369ab4b24.tar.xz
Initial revision
Diffstat (limited to 'dnn/Trigger.h')
-rw-r--r--dnn/Trigger.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/dnn/Trigger.h b/dnn/Trigger.h
new file mode 100644
index 0000000..31dd7f9
--- /dev/null
+++ b/dnn/Trigger.h
@@ -0,0 +1,44 @@
+/*
+ * DNN - Data News Network
+ *
+ * by Stephane Chatty
+ *
+ * Copyright 1993-1994
+ * Centre d'Etudes de la Navigation Aerienne (CENA)
+ *
+ * Event triggers.
+ *
+ * $Id$
+ * $CurLog$
+ */
+
+#ifndef DnnTrigger_H_
+#define DnnTrigger_H_
+
+#include "cplus_bugs.h"
+#include "ccu/List.h"
+
+class DnnReaction;
+class DnnWindow;
+class DnnEvent;
+
+class DnnTrigger {
+friend class DnnBaseReaction;
+
+private:
+ DnnTrigger (const DnnTrigger&);
+ DnnTrigger& operator = (const DnnTrigger&);
+
+protected:
+ CcuListOf <DnnBaseReaction> Subscribers;
+ void Subscribe (DnnBaseReaction&);
+ void Unsubscribe (DnnBaseReaction&);
+
+public:
+ DnnTrigger ();
+ ~DnnTrigger ();
+inline const CcuListOf <DnnBaseReaction>& GetSubscribers () const { return Subscribers; }
+ void Dispatch (DnnEvent&);
+};
+
+#endif /* DnnTrigger_H_ */