summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dnn/Reaction.h8
-rw-r--r--dnn/Trigger.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/dnn/Reaction.h b/dnn/Reaction.h
index 91cc180..6fa0a2e 100644
--- a/dnn/Reaction.h
+++ b/dnn/Reaction.h
@@ -15,6 +15,11 @@
#ifndef DnnReaction_H_
#define DnnReaction_H_
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+
#include "ccu/List.h"
class DnnTrigger;
@@ -24,11 +29,14 @@ class DnnBaseReaction {
protected:
DnnBaseReaction ();
CcuListOf <DnnTrigger> Triggers;
+ CcuListOf <DnnTrigger> Grabbed;
public:
virtual ~DnnBaseReaction ();
void SubscribeTo (DnnTrigger&);
void UnsubscribeTo (DnnTrigger&);
+ void Grab (DnnTrigger&);
+ void Release (DnnTrigger&);
virtual void Manage (DnnEvent&);
};
diff --git a/dnn/Trigger.h b/dnn/Trigger.h
index 31dd7f9..186b62f 100644
--- a/dnn/Trigger.h
+++ b/dnn/Trigger.h
@@ -15,6 +15,10 @@
#ifndef DnnTrigger_H_
#define DnnTrigger_H_
+#ifdef __GNUG__
+#pragma interface
+#endif
+
#include "cplus_bugs.h"
#include "ccu/List.h"
@@ -31,8 +35,11 @@ private:
protected:
CcuListOf <DnnBaseReaction> Subscribers;
+ CcuListOf <DnnBaseReaction> Grabs;
void Subscribe (DnnBaseReaction&);
void Unsubscribe (DnnBaseReaction&);
+ void Grab (DnnBaseReaction&);
+ void Release (DnnBaseReaction&);
public:
DnnTrigger ();