summaryrefslogtreecommitdiff
path: root/dnn/Source.h
diff options
context:
space:
mode:
authorchatty2000-11-28 14:52:15 +0000
committerchatty2000-11-28 14:52:15 +0000
commitbcb19dbd53973ff7efd9b2838de121d1e23430f4 (patch)
tree4aa6404ca732d1a32e11b0be1762dcb7ef9fbdb6 /dnn/Source.h
parent325530e630c68c7c10a2f4339f5b43434fcd0329 (diff)
downloadivy-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-xdnn/Source.h72
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_ */