Salome HOME
Initialisation de la base KERNEL avec la version operationnelle de KERNEL_SRC issue...
[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   ParserComponentType Parsercomponenttype;
55   bool Parsercomponentmultistudy ;
56   string Parsercomponenticone;
57   ListOfDefinitionInterface ParserListInterface;
58   string Parserconstraint ;
59 };
60
61 typedef vector<ParserComponent> ListOfParserComponent ;
62
63 #ifdef WRITE_CATA_COMPONENT
64 // contains all the paths and the computers defined in the catalog
65 ListOfParserPathPrefix _pathlist;
66   
67 // contains all the modules defined in the catalog
68 ListOfParserComponent _modulelist; 
69 #else
70 extern ListOfParserPathPrefix _pathlist;
71 extern ListOfParserComponent _modulelist; 
72 #endif
73
74
75
76 #endif // SALOME_CATALOG_PARSER_H