Salome HOME
Base implementation of Notebook
[modules/kernel.git] / src / ModuleCatalog / TestModuleCatalog.py
1 #  -*- coding: iso-8859-1 -*-
2 #  Copyright (C) 2007-2008  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.
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 import batchmode_salome
24 import SALOME_ModuleCatalog
25
26 print
27 print "======================================================================"
28 print "           XML Catalog file generation from idl file"
29 print "======================================================================"
30
31 import os
32 os.system('runIDLparser -Wbcatalog=x \
33                  ${KERNEL_ROOT_DIR}/idl/salome/SALOME_TestModuleCatalog.idl')
34
35 print "======================================================================"
36 print "           Get Catalog "
37 print "======================================================================"
38 obj = batchmode_salome.naming_service.Resolve('Kernel/ModulCatalog')
39 catalog = obj._narrow(SALOME_ModuleCatalog.ModuleCatalog)
40 catalog.GetComponentList()
41
42 print 
43 print "======================================================================"
44 print "           Import xml file "
45 print "======================================================================"
46 catalog.ImportXmlCatalogFile("x.xml")
47
48 name = "AddComponent"
49 print 
50 print "======================================================================"
51 print "           Dump component <", name, "> "
52 print "======================================================================"
53 C = catalog.GetComponent(name)
54
55 print "name       : ", C._get_componentname()
56 print "username   : ", C._get_componentusername()
57 print "type       : ", C._get_component_type()
58 print "constraint : ", C._get_constraint()
59 print "icon       : ", C._get_component_icone()
60
61 for iL in C.GetInterfaceList():
62     I = C.GetInterface(iL)
63     print "interface  : ", I.interfacename
64     for S in I.interfaceservicelist:
65         print "  service : ", S.ServiceName
66         print "    ", len(S.ServiceinParameter), "in params : "
67         for iP in S.ServiceinParameter:
68             print '      ' + iP.Parametername + '(' + iP.Parametertype + ')'
69             pass
70         print "    ", len(S.ServiceoutParameter), "out params : "
71         for iP in S.ServiceoutParameter:
72             print '      ' + iP.Parametername + '(' + iP.Parametertype + ')'
73             pass
74         print "    ", len(S.ServiceinDataStreamParameter), "in datastream params : "
75         for iP in S.ServiceinDataStreamParameter:
76             print '      ' + iP.Parametername + '(' + str(iP.Parametertype) + ', ' + \
77                   str(iP.Parameterdependency) + ')'
78             pass
79         print "    ", len(S.ServiceoutDataStreamParameter), "out datastream params : "
80         for iP in S.ServiceoutDataStreamParameter:
81             print '      ' + iP.Parametername + '(' + str(iP.Parametertype) + ', ' + \
82                   str(iP.Parameterdependency) + ')'
83             pass
84         pass
85     pass
86