proj home

Files   Classes   Functions   Hierarchy  

visoperator.h

Go to the documentation of this file.
00001 #ifndef VISOPERATOR_H
00002 #define VISOPERATOR_H
00003 
00004 #include <vector>
00005 using namespace std;
00006 
00007 #include <typedefs.h>
00008 #include <viscmd.h>
00009 #include <visenv.h>
00010 
00011 class vispointxml;
00012 
00018 class visoperator
00019 {
00020 public:
00021 
00023   static void set(visenv& ve_);
00025   static void set(vispointxml& vp_);
00026 
00028   static visenv* ve;
00030   static vispointxml* vp;
00031 
00033   virtual stringc id() const = 0;
00034 
00037   virtual void handlecommand(bool & matches, viscmd & c) = 0;
00038  
00039 };
00040 
00046 class visdictionary : public visoperator
00047 {
00048 public:
00049 
00051   stringc id() const
00052     { return "dictionary"; }
00053 
00055   static vector< visoperator* > dictionary;
00056 
00058   static void add(visoperator* x);
00059   
00062   void handlecommand(bool & matches, viscmd & c);
00063 
00065   static void process(vector<viscmd> &v);
00066   
00068   static void build01();
00069 };
00070 
00071 
00072 
00073 // TODO  - extend for supporting classes that do not directly use inheritance 
00074 //   to implement visoperator.
00075 //   ie wrapper for handle function to call arbitarily named member func.
00076 
00077 #endif
00078 
00079 

Generated on Fri Mar 4 00:49:32 2011 for Chelton Evans Source by  doxygen 1.5.8