00001 #ifndef CMA_CONTROL_DEFINED 00002 #define CMA_CONTROL_DEFINED 00003 00004 #include <stdlib.h> 00005 #include <vector> 00006 00007 namespace CMa 00008 { 00016 template<class Word> class Control 00017 { 00018 public: 00026 virtual void onException(Exception* e)=0; 00027 00034 virtual void onComplete(Word result)=0; 00035 00045 virtual int onBreak()=0; 00046 00056 virtual Word onInput() throw (Failure)=0; 00057 00068 virtual void onOutput_int(Word value) throw (Failure)=0; 00069 00080 virtual void onOutput_char(Word value) throw (Failure)=0; 00081 00082 }; 00083 } 00084 00085 #endif 00086