diff options
author | chatty | 2000-11-28 14:52:15 +0000 |
---|---|---|
committer | chatty | 2000-11-28 14:52:15 +0000 |
commit | bcb19dbd53973ff7efd9b2838de121d1e23430f4 (patch) | |
tree | 4aa6404ca732d1a32e11b0be1762dcb7ef9fbdb6 /dnn/Source.h | |
parent | 325530e630c68c7c10a2f4339f5b43434fcd0329 (diff) | |
download | ivy-league-bcb19dbd53973ff7efd9b2838de121d1e23430f4.zip ivy-league-bcb19dbd53973ff7efd9b2838de121d1e23430f4.tar.gz ivy-league-bcb19dbd53973ff7efd9b2838de121d1e23430f4.tar.bz2 ivy-league-bcb19dbd53973ff7efd9b2838de121d1e23430f4.tar.xz |
Lots of files were added around '96
Diffstat (limited to 'dnn/Source.h')
-rwxr-xr-x | dnn/Source.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/dnn/Source.h b/dnn/Source.h new file mode 100755 index 0000000..ab5d55c --- /dev/null +++ b/dnn/Source.h @@ -0,0 +1,72 @@ +/* + * DNN - Data News Network + * + * by Stephane Chatty + * + * Copyright 1993-1996 + * Centre d'Etudes de la Navigation Aerienne (CENA) + * + * Event sources. + * + * $Id$ + * $CurLog$ + */ + +#ifndef DnnSource_H_ +#define DnnSource_H_ + +#include "cplus_bugs.h" +template <class ITEM> class CcuArrayOf; +template <class ITEM> class CcuHashTableOf; +class DnnTrigger; +class DnnEvent; +class DnnBaseReaction; + + +class DnnEventSource { +protected: + DnnEventSource (); +virtual ~DnnEventSource (); + void Emit (DnnEvent*); +virtual void DispatchEvent (DnnEvent*) = 0; +}; + +class DnnEventSelector { +public: + DnnEventSelector (); +virtual ~DnnEventSelector (); +virtual DnnTrigger* FindTrigger (DnnEvent*) = 0; +}; + +typedef int (*DnnIntExtractor) (DnnEvent*); + +class DnnEventIntSelector : public DnnEventSelector { +protected: + DnnIntExtractor IdExtractor; + int MaxSize; + CcuArrayOf<DnnTrigger> *Triggers; +public: + DnnEventIntSelector (DnnIntExtractor, int); + ~DnnEventIntSelector (); + DnnTrigger* UseTrigger (int); + void UnuseTrigger (int, DnnBaseReaction*); + DnnTrigger* FindTrigger (DnnEvent*); +}; + +typedef void* (*DnnPtrExtractor) (DnnEvent*); + +class DnnEventPtrSelector : public DnnEventSelector { +protected: + DnnPtrExtractor PtrExtractor; + int TblSize; + CcuHashTableOf<DnnTrigger> *Triggers; +public: + DnnEventPtrSelector (DnnPtrExtractor, int); + ~DnnEventPtrSelector (); + DnnTrigger* UseTrigger (void*); + void UnuseTrigger (void*, DnnBaseReaction*); + DnnTrigger* FindTrigger (DnnEvent*); +}; + + +#endif /* DnnSource_H_ */ |