Salome HOME
NRI : Remove dependence with VISU.
[modules/kernel.git] / src / ModuleCatalog / SALOME_ModuleCatalog_Parser.hxx
1 // File: SALOME_ModuleCatalog_Parser.hxx
2 // Created: Tue June 25 2001
3 // Author: Estelle Deville
4 // Project: SALOME
5 // Copyright : CEA/DEN/DMSS/LGLS
6 // $Header$
7
8 #ifndef SALOME_CATALOG_PARSER_H
9 #define SALOME_CATALOG_PARSER_H
10
11 #include <string>
12 #include <vector>
13
14 // Type Definitions
15 struct ParserPathPrefix
16 {
17   string         path;
18   vector<string> ListOfComputer ;
19 };
20
21 typedef vector<ParserPathPrefix> ListOfParserPathPrefix ;
22
23 enum ParserComponentType {GEOM, MESH, Med, SOLVER, DATA, VISU, SUPERV, OTHER} ;
24
25 struct ParserServParam
26 {
27   string ParserParamtype;
28   string ParserParamname;
29 } ;
30
31 typedef vector<ParserServParam> ListOfParserServicesParameter;
32
33 struct ParserService
34 {
35   string                        ParserServiceName;
36   ListOfParserServicesParameter ParserServiceinParameter;
37   ListOfParserServicesParameter ParserServiceoutParameter;
38   bool                          ParserServicebydefault;
39 } ;
40
41 typedef vector<ParserService> ListOfParserServices ;
42
43 struct ParserDefInterface
44 {
45   string               Parserinterfacename ;
46   ListOfParserServices Parserinterfaceservicelist ;
47 } ;
48
49 typedef vector<ParserDefInterface> ListOfDefinitionInterface;
50
51 struct ParserComponent
52 {
53   string Parsercomponentname;
54   string Parsercomponentusername;
55   ParserComponentType Parsercomponenttype;
56   bool Parsercomponentmultistudy ;
57   string Parsercomponenticone;
58   ListOfDefinitionInterface ParserListInterface;
59   string Parserconstraint ;
60 };
61
62 typedef vector<ParserComponent> ListOfParserComponent ;
63
64 #ifdef WRITE_CATA_COMPONENT
65 // contains all the paths and the computers defined in the catalog
66 ListOfParserPathPrefix _pathlist;
67   
68 // contains all the modules defined in the catalog
69 ListOfParserComponent _modulelist; 
70 #else
71 extern ListOfParserPathPrefix _pathlist;
72 extern ListOfParserComponent _modulelist; 
73 #endif
74
75
76
77 #endif // SALOME_CATALOG_PARSER_H