Salome HOME
Copyright update: 2016
[modules/kernel.git] / src / ModuleCatalog / TestModuleCatalog.py
1 #  -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License, or (at your option) any later version.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23
24 import batchmode_salome
25 import SALOME_ModuleCatalog
26
27 print
28 print "======================================================================"
29 print "           XML Catalog file generation from idl file"
30 print "======================================================================"
31
32 import os
33 os.system('runIDLparser -Wbcatalog=x \
34                  ${KERNEL_ROOT_DIR}/idl/salome/SALOME_TestModuleCatalog.idl')
35
36 print "======================================================================"
37 print "           Get Catalog "
38 print "======================================================================"
39 obj = batchmode_salome.naming_service.Resolve('Kernel/ModulCatalog')
40 catalog = obj._narrow(SALOME_ModuleCatalog.ModuleCatalog)
41 catalog.GetComponentList()
42
43 print 
44 print "======================================================================"
45 print "           Import xml file "
46 print "======================================================================"
47 catalog.ImportXmlCatalogFile("x.xml")
48
49 name = "AddComponent"
50 print 
51 print "======================================================================"
52 print "           Dump component <", name, "> "
53 print "======================================================================"
54 C = catalog.GetComponent(name)
55
56 print "name       : ", C._get_componentname()
57 print "username   : ", C._get_componentusername()
58 print "type       : ", C._get_component_type()
59 print "constraint : ", C._get_constraint()
60 print "icon       : ", C._get_component_icone()
61
62 for iL in C.GetInterfaceList():
63     I = C.GetInterface(iL)
64     print "interface  : ", I.interfacename
65     for S in I.interfaceservicelist:
66         print "  service : ", S.ServiceName
67         print "    ", len(S.ServiceinParameter), "in params : "
68         for iP in S.ServiceinParameter:
69             print '      ' + iP.Parametername + '(' + iP.Parametertype + ')'
70             pass
71         print "    ", len(S.ServiceoutParameter), "out params : "
72         for iP in S.ServiceoutParameter:
73             print '      ' + iP.Parametername + '(' + iP.Parametertype + ')'
74             pass
75         print "    ", len(S.ServiceinDataStreamParameter), "in datastream params : "
76         for iP in S.ServiceinDataStreamParameter:
77             print '      ' + iP.Parametername + '(' + str(iP.Parametertype) + ', ' + \
78                   str(iP.Parameterdependency) + ')'
79             pass
80         print "    ", len(S.ServiceoutDataStreamParameter), "out datastream params : "
81         for iP in S.ServiceoutDataStreamParameter:
82             print '      ' + iP.Parametername + '(' + str(iP.Parametertype) + ', ' + \
83                   str(iP.Parameterdependency) + ')'
84             pass
85         pass
86     pass
87