diff options
Diffstat (limited to 'dnn')
-rw-r--r-- | dnn/Reaction.h | 8 | ||||
-rw-r--r-- | dnn/Trigger.h | 7 |
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 (); |