Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

AlephAbstractInteractiveFunction.h

Go to the documentation of this file.
00001 
00002 //
00003 // CLASS AlephAbstractInteractiveFunction
00004 // Abstract class for interactive commands
00005 //
00006 // Author :  C. Delaere
00007 //
00009 
00010 #ifndef _ALEPHABSTRACTINTERACTIVEFUNCTION_H_
00011 #define _ALEPHABSTRACTINTERACTIVEFUNCTION_H_
00012 
00013 #include <vector>
00014 #include <utility>
00015 #include <string>
00016 #include <iostream>
00017 
00018 #include "AlephInteractiveHandler.h"
00019 
00020 class AlephAbstractInteractiveFunction
00021 {
00022         public:
00023                 AlephAbstractInteractiveFunction() {cerr << "AlephAbstractInteractiveFunction: default constructor should not be used..." << endl;}
00024                 AlephAbstractInteractiveFunction(AlephInteractiveHandler* ptr) {theHandler=ptr;}
00025                 virtual ~AlephAbstractInteractiveFunction() {}
00026                 virtual string Name() = 0;
00027                 virtual int Code() = 0;
00028                 virtual void Run(vector<float>& options,AlphaBanks& EventInfo) = 0;
00029                 virtual vector<pair<string,float> > OptionsList() = 0;
00030         protected:
00031                 void SendMessage(int code, vector<float>& options, string comment) { theHandler->SendMessage(code,options,comment);}
00032         private:
00033                 AlephInteractiveHandler* theHandler;
00034 };
00035 
00036 #endif

Generated at Wed Jun 18 17:19:09 2003 for ALPHA++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001