Salome HOME
Merge V9_dev branch into master
[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