From 7c44c466aeba17b04ad493c21ef388b844a84355 Mon Sep 17 00:00:00 2001 From: chatty Date: Tue, 28 Nov 2000 15:30:12 +0000 Subject: *** empty log message *** --- dnn/Automaton.cc | 99 -------------------------------------------------------- dnn/Automaton.h | 81 ---------------------------------------------- dnn/behaviour.cc | 42 ------------------------ dnn/behaviour.h | 86 ------------------------------------------------ 4 files changed, 308 deletions(-) delete mode 100755 dnn/Automaton.cc delete mode 100755 dnn/Automaton.h delete mode 100755 dnn/behaviour.cc delete mode 100755 dnn/behaviour.h (limited to 'dnn') diff --git a/dnn/Automaton.cc b/dnn/Automaton.cc deleted file mode 100755 index 558a0ba..0000000 --- a/dnn/Automaton.cc +++ /dev/null @@ -1,99 +0,0 @@ -/* - * DNN - Data News Network - * - * by Stephane Chatty - * - * Copyright 1993-1995 - * Centre d'Etudes de la Navigation Aerienne (CENA) - * - * Automata. - * - * $Id$ - * $CurLog$ - */ - -#include "Automaton.h" - -DnnState :: DnnState (const char* name, int sz, DnnStateFun* in, DnnStateFun* out) -: Name (name), - InFun (in), - OutFun (out), - Links (sz) -{ -} - -DnnState :: ~DnnState () -{ - CcuHashIterOf l = Links; - while (++l) - delete *l; -} - -void -DnnState :: CreateLink (DnnState* to, void* k, DnnLinkFun fn) -{ - CcuHashCellOf * c = Links.Add (k); - c->SetInfo (new DnnLink (to, fn)); -} - -DnnState* -DnnState :: Next (void* k, bool peek) -{ - CcuHashCellOf * c = Links.Get (k); - if (!c) - return 0; - DnnLink* l = c->GetInfo (); - DnnState* to = l->To; - if (!peek) { - if (OutFun) - (*OutFun) (this); - if (l->Fun) - l->Fun (this, to, k); - if (to->InFun) - (*to->InFun) (to); - } - return to; -} - -DnnAutomaton :: DnnAutomaton (int sz) -: Initial (0), - Size (sz) -{ -} - -DnnAutomaton :: ~DnnAutomaton () -{ - CcuListIterOf s = AllStates; - while (++s) - delete *s; -} - -DnnState* -DnnAutomaton :: CreateState (const char* n, DnnStateFun in, DnnStateFun out) -{ - DnnState* s = new DnnState (n, Size, in, out); - AllStates.Append (s); - return s; -} - -DnnAutomIter :: DnnAutomIter (DnnAutomaton& a) -: TheAutomaton (&a), - CurState (a.GetInitial ()) -{ -} - -DnnAutomIter :: ~DnnAutomIter () -{ -} - -bool -DnnAutomIter :: Step (void* k) -{ - if (!CurState && !(CurState = TheAutomaton->GetInitial ())) - return false; - DnnState* n = CurState->Next (k); - if (!n) - return false; - CurState = n; - return true; -} diff --git a/dnn/Automaton.h b/dnn/Automaton.h deleted file mode 100755 index 3cb78ba..0000000 --- a/dnn/Automaton.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DNN - Data News Network - * - * by Stephane Chatty - * - * Copyright 1993-1995 - * Centre d'Etudes de la Navigation Aerienne (CENA) - * - * Automata. - * - * $Id$ - * $CurLog$ - */ - -#ifndef DnnAutomaton_H_ -#define DnnAutomaton_H_ - -#include "cplus_bugs.h" -#include "ccu/List.h" -#include "ccu/HashTable.h" -#include "ccu/String.h" -#include "ccu/bool.h" - -class DnnState; - -typedef void (DnnStateFun) (DnnState*); -typedef void (DnnLinkFun) (DnnState*, DnnState*, void*); - -class DnnLink { -public: - DnnState* To; - DnnLinkFun* Fun; -inline DnnLink (DnnState* to, DnnLinkFun* fn) : To (to), Fun (fn) {} -inline ~DnnLink () {} -}; - - -class DnnState { -protected: - CcuString Name; - DnnStateFun* InFun; - DnnStateFun* OutFun; - CcuHashTableOf Links; - -inline void In () { if (InFun) (*InFun) (this); } -inline void Out () { if (OutFun) (*OutFun) (this); } - -public: - DnnState (const char*, int sz, DnnStateFun* = 0, DnnStateFun* = 0); - ~DnnState (); - void CreateLink (DnnState*, void*, DnnLinkFun); - DnnState* Next (void*, bool = false); -}; - -class DnnAutomaton { -protected: - int Size; - DnnState* Initial; - CcuListOf AllStates; -public: - DnnAutomaton (int sz = 16); - ~DnnAutomaton (); -inline DnnState* GetInitial () { return Initial; } -inline void SetInitial (DnnState* s) { Initial = s; } - DnnState* CreateState (const char* = 0, DnnStateFun = 0, DnnStateFun = 0); - void CreateLink (DnnState*, DnnState*, void*, DnnLinkFun); -}; - -class DnnAutomIter { -protected: - DnnAutomaton* TheAutomaton; - DnnState* CurState; -public: - DnnAutomIter (DnnAutomaton&); - ~DnnAutomIter (); - bool Step (void*); -}; - - - -#endif /* DnnAutomaton_H_ */ diff --git a/dnn/behaviour.cc b/dnn/behaviour.cc deleted file mode 100755 index f85bd20..0000000 --- a/dnn/behaviour.cc +++ /dev/null @@ -1,42 +0,0 @@ -/* - * DNN - Data News Network - * - * by Stephane Chatty - * - * Copyright 1993-1996 - * Centre d'Etudes de la Navigation Aerienne (CENA) - * - * Behaviours. - * - * $Id$ - * $CurLog$ - */ - -#include "Behaviour.h" - -#if 0 -template -CcuKey* -DnnBehaviourOf :: GetEventType (CcuToken* t) -{ - DnnEvent* e = (DnnEvent*) t; - return (CcuKey*) t->GetType (); -} -#endif - -#if 0 - -DnnSuperState :: DnnSuperState (const char* name, CcuAutomaton& a) -: CcuBaseState (name, a), - Criteria () -{ -} - -void -DnnSuperState :: CreateLink (DnnSuperState* to, DnnCriterion* c) -{ - CcuHashCellOf * c = Links.Add (); - c->SetInfo (new DnnActionOf -} -#endif - diff --git a/dnn/behaviour.h b/dnn/behaviour.h deleted file mode 100755 index 01f382b..0000000 --- a/dnn/behaviour.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * DNN - Data News Network - * - * by Stephane Chatty - * - * Copyright 1993-1995 - * Centre d'Etudes de la Navigation Aerienne (CENA) - * - * Behaviours. - * - * $Id$ - * $CurLog$ - */ - -#ifndef DnnBehaviour_H_ -#define DnnBehaviour_H_ - -#include "cplus_bugs.h" -#include "ccu/Automaton.h" -class DnnEvent; - -// en cours de developpement. - -template class DnnStateOf; - -template class DnnActionOf : public CcuBaseLink { -protected: - T& Object; - void (T::*Action) (DnnStateOf*, DnnStateOf*, DnnEvent*); - - void Fire (CcuBaseState* f, CcuBaseState* t, CcuToken* k) { if (Action) (Object.*Action) ((DnnStateOf*) f, (DnnStateOf*) t, (DnnEvent*) k);} - -public: - DnnActionOf (DnnStateOf* s, DnnEventType* k, T& o, void (T::*a) (DnnStateOf*, DnnStateOf*, DnnEvent*)) : CcuBaseLink (s), Object (o), Action (a) {} - ~DnnActionOf () {} - -}; - -#if 0 -/* future version of States: they create reactions associated to their links when entered. */ - -class DnnSuperState : public CcuBaseState { -protected: - CcuListOf Criteria; - void In (); - void Out (); -public: - DnnSuperState (const char* n, CcuAutomaton& b) : CcuBaseState (n, b) {} - ~DnnSuperState (); - void CreateLink (DnnSuperState*, DnnCriterion*); -}; - -template class DnnStateOf : public CcuBaseState { -protected: - void In () {} - void Out () {} -public: - DnnStateOf (const char* n, DnnBehaviourOf& b) : CcuBaseState (n, b) {} - ~DnnStateOf () {} - void CreateLink (DnnStateOf* to, DnnEventType* k, T& o, void (T::*a) (DnnStateOf*, DnnStateOf*, DnnEvent*)) { CcuHashCellOf * c = Links.Add (k); c->SetInfo (new DnnActionOf (to, k, o, a)); } -}; - -template class DnnBehaviourOf : public CcuBaseAutomaton { -protected: -static CcuKey* GetEventType (CcuToken*); -public: - DnnBehaviourOf () : CcuBaseAutomaton (&GetEventType) {} - ~DnnBehaviourOf () {} - DnnStateOf* CreateState (const char* n) { DnnStateOf* s = new DnnStateOf (n, *this); AllStates.Append (s); return s; } -}; - -template -CcuKey* -DnnBehaviourOf :: GetEventType (CcuToken* t) -{ - DnnEvent* e = (DnnEvent*) t; - return (CcuKey*) e->GetType (); -} - - -// tentative du 20/11/95 -template class DnnInteractionOf : public CcuAutomIter { - DnnInteractionOf (DnnBehaviourOf& b) : CcuAutomIter (b) {} -}; -#endif -#endif /* DnnBehaviour_H_ */ -- cgit v1.1