Version: 8.3.0
Main Page
Related Pages
Packages
Data Structures
Files
File List
Globals
SALOME KERNEL Developer
Deprecated List
Packages
Data Structures
Files
File List
idl
src
Basics
Communication
Container
DF
DSC
GenericObj
HDFPersist
KernelHelpers
Launcher
LifeCycleCORBA
Logger
ModuleCatalog
PathPrefix.hxx
SALOME_ModuleCatalog.hxx
SALOME_ModuleCatalog_Acomponent_impl.cxx
SALOME_ModuleCatalog_Acomponent_impl.hxx
SALOME_ModuleCatalog_Client.cxx
SALOME_ModuleCatalog_Handler.cxx
SALOME_ModuleCatalog_Handler.hxx
SALOME_ModuleCatalog_impl.cxx
SALOME_ModuleCatalog_impl.hxx
SALOME_ModuleCatalog_Parser.hxx
SALOME_ModuleCatalog_Parser_IO.cxx
SALOME_ModuleCatalog_Parser_IO.hxx
SALOME_ModuleCatalog_Server.cxx
ModuleGenerator
MPIContainer
NamingService
Notification
NOTIFICATION_SWIG
ParallelContainer
Registry
ResourcesManager
SALOMEDS
SALOMEDSClient
SALOMEDSImpl
SALOMELocalTrace
SALOMESDS
SALOMETraceCollector
TestContainer
TestMPIContainer
TOOLSDS
UnitTests
Utils
Globals
SALOME_ModuleCatalog_Parser.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
//
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
//
20
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
//
22
23
// SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
24
// File : SALOME_ModuleCatalog_Parser.hxx
25
// Author : Estelle Deville
26
// Module : SALOME
27
// $Header$
28
//
29
#ifndef SALOME_CATALOG_PARSER_H
30
#define SALOME_CATALOG_PARSER_H
31
32
#include <string>
33
#include <vector>
34
#include <map>
35
36
// Type Definitions
37
struct
ParserPathPrefix
38
{
39
std::string
path
;
40
std::vector<std::string>
listOfComputer
;
41
};
42
43
typedef
std::vector<ParserPathPrefix>
ParserPathPrefixes
;
44
45
enum
ParserComponentType
{
GEOM
,
MESH
,
Med
,
SOLVER
,
DATA
,
VISU
,
SUPERV
,
OTHER
} ;
46
47
struct
ParserParameter
48
{
49
std::string
type
;
50
std::string
name
;
51
} ;
52
53
54
struct
ParserDataStreamParameter
55
{
56
std::string
type
;
57
std::string
name
;
58
std::string
dependency
;
59
} ;
60
61
typedef
std::vector<ParserParameter>
ParserParameters
;
62
typedef
std::vector<ParserDataStreamParameter>
ParserDataStreamParameters
;
63
64
struct
ParserService
65
{
66
ParserService
() {
67
typeOfNode
= 1;
68
byDefault
= 1;
69
}
70
std::string
name
;
71
ParserParameters
inParameters
;
72
ParserParameters
outParameters
;
73
ParserDataStreamParameters
inDataStreamParameters
;
74
ParserDataStreamParameters
outDataStreamParameters
;
75
bool
byDefault
;
76
bool
typeOfNode
;
77
} ;
78
79
typedef
std::vector<ParserService>
ParserServices
;
80
81
struct
ParserInterface
82
{
83
std::string
name
;
84
ParserServices
services
;
85
} ;
86
87
typedef
std::vector<ParserInterface>
ParserInterfaces
;
88
89
struct
ParserComponent
90
{
91
std::string
name
;
92
std::string
username
;
93
ParserComponentType
type
;
94
bool
multistudy
;
95
std::string
icon
;
96
std::string
constraint
;
97
ParserInterfaces
interfaces
;
98
ParserPathPrefixes
prefixes
;
99
std::string
implementationType
;
100
std::string
implementationName
;
101
std::string
version
;
102
std::string
comment
;
103
};
104
105
typedef
std::vector<ParserComponent>
ParserComponents
;
106
107
struct
ParserType
108
{
109
std::string
name
;
110
std::string
kind
;
111
std::string
id
;
112
std::string
content
;
113
std::vector<std::string>
bases
;
114
std::vector< std::pair<std::string,std::string> >
members
;
115
};
116
typedef
std::map<std::string,ParserType>
ParserTypes
;
117
typedef
std::map<std::string,ParserType&>
RefTypes
;
118
typedef
std::vector<ParserType>
TypeList
;
119
120
struct
ParserSequence
:
public
ParserType
121
{
122
ParserSequence
(){
kind
=
"sequence"
;}
123
};
124
typedef
std::map<std::string,ParserSequence>
ParserSequences
;
125
126
struct
ParserObjref
:
public
ParserType
127
{
128
ParserObjref
(){
kind
=
"objref"
;}
129
};
130
typedef
std::map<std::string,ParserObjref>
ParserObjrefs
;
131
132
struct
ParserStruct
:
public
ParserType
133
{
134
ParserStruct
(){
kind
=
"struct"
;}
135
};
136
typedef
std::map<std::string,ParserStruct>
ParserStructs
;
137
138
#endif // SALOME_CATALOG_PARSER_H
src
ModuleCatalog
SALOME_ModuleCatalog_Parser.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS