]> SALOME platform Git repositories - modules/yacs.git/blob - src/engine/VisitorSaveState.hxx
Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / engine / VisitorSaveState.hxx
1 #ifndef __VISITOR_SAVESTATE_HXX__
2 #define __VISITOR_SAVESTATE_HXX__
3
4 #include "Visitor.hxx"
5 #include "Exception.hxx"
6
7 #include <fstream>
8 #include <string>
9 #include <map>
10
11 namespace YACS
12 {
13   namespace ENGINE
14   {
15     class VisitorSaveState: public Visitor
16     {
17     public:
18       VisitorSaveState(ComposedNode *root);
19       virtual ~VisitorSaveState();
20       void openFileDump(std::string xmlDump) throw(Exception);
21       void closeFileDump();
22       virtual void visitBloc(Bloc *node);
23       virtual void visitElementaryNode(ElementaryNode *node);
24       virtual void visitForEachLoop(ForEachLoop *node);
25       virtual void visitForLoop(ForLoop *node);
26       virtual void visitInlineNode(InlineNode *node);
27       virtual void visitInlineFuncNode(InlineFuncNode *node);
28       virtual void visitLoop(Loop *node);
29       virtual void visitProc(Proc *node);
30       virtual void visitServiceNode(ServiceNode *node);
31       virtual void visitServiceInlineNode(ServiceInlineNode *node);
32       virtual void visitSwitch(Switch *node);
33       virtual void visitWhileLoop(WhileLoop *node);
34
35     protected:
36       std::ofstream _out;
37       std::map<int, std::string> _nodeStateName;
38     };
39   }
40 }
41 #endif