20 #ifndef __VISITOR_SAVESCHEMA_HXX__
21 #define __VISITOR_SAVESCHEMA_HXX__
37 class OutputDataStreamPort;
39 class ComponentInstance;
64 void openFileSchema(std::string xmlDump)
throw(
Exception);
65 void closeFileSchema();
66 virtual void visitBloc(
Bloc *node);
71 virtual void visitForLoop(
ForLoop *node);
72 virtual void visitInlineNode(
InlineNode *node);
74 virtual void visitLoop(
Loop *node);
75 virtual void visitProc(
Proc *node);
77 virtual void visitServerNode(
ServerNode *node);
79 virtual void visitSwitch(
Switch *node);
80 virtual void visitWhileLoop(
WhileLoop *node);
81 virtual void visitPresetNode(
DataNode *node);
82 virtual void visitOutNode(
DataNode *node);
83 virtual void visitStudyInNode(
DataNode *node);
84 virtual void visitStudyOutNode(
DataNode *node);
87 virtual void writeProperties(
Node *node);
88 virtual void dumpTypeCode(
TypeCode* type, std::set<std::string>& typeNames,std::map<std::string, TypeCode*>& typeMap,
int depth);
89 virtual void writeTypeCodes(
Proc *proc);
90 virtual void writeContainers(
Proc *proc);
91 virtual void writeComponentInstances(
Proc *proc);
92 virtual void writeInputPorts(
Node *node);
93 virtual void writeInputDataStreamPorts(
Node *node);
94 virtual void writeOutputPorts(
Node *node);
95 virtual void writeOutputDataStreamPorts(
Node *node);
99 virtual void writeParameters(
Proc *proc);
101 virtual void beginCase(
Node* node);
102 virtual void endCase(
Node* node);
104 int depthNode(
Node* node);
105 inline std::string indent(
int val)
106 {std::string white; white.append(3*val,
' ');
return white;};
121 virtual void save(std::string xmlSchemaFile);