salome.kernel 9.14.0__cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of salome.kernel might be problematic. Click here for more details.

Files changed (400) hide show
  1. salome/bin/salome/IDLparser.py +882 -0
  2. salome/bin/salome/KernelHelpersUseCases +0 -0
  3. salome/bin/salome/NSparam.py +51 -0
  4. salome/bin/salome/ORBConfigFile.py +55 -0
  5. salome/bin/salome/SALOMEDS_Client +0 -0
  6. salome/bin/salome/SALOMEDS_Server +0 -0
  7. salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
  8. salome/bin/salome/SALOME_Container +0 -0
  9. salome/bin/salome/SALOME_ContainerPy.py +397 -0
  10. salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
  11. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
  12. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
  13. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
  14. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
  15. salome/bin/salome/SALOME_DataScopeServer +0 -0
  16. salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
  17. salome/bin/salome/SALOME_LauncherServer +0 -0
  18. salome/bin/salome/SALOME_Logger_Server +0 -0
  19. salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
  20. salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
  21. salome/bin/salome/SALOME_Registry_Server +0 -0
  22. salome/bin/salome/TestComponentPy.py +71 -0
  23. salome/bin/salome/TestContainer +0 -0
  24. salome/bin/salome/TestContainerManager +0 -0
  25. salome/bin/salome/TestLauncher +0 -0
  26. salome/bin/salome/TestLifeCycleCORBA.py +89 -0
  27. salome/bin/salome/TestLogger +0 -0
  28. salome/bin/salome/TestLogger.py +27 -0
  29. salome/bin/salome/TestModuleCatalog.py +87 -0
  30. salome/bin/salome/Test_LifeCycleCORBA +0 -0
  31. salome/bin/salome/VERSION +3 -0
  32. salome/bin/salome/addToKillList.py +35 -0
  33. salome/bin/salome/app-quickstart.py +288 -0
  34. salome/bin/salome/appli/.bashrc +50 -0
  35. salome/bin/salome/appli/extra.env.d/001.py +39 -0
  36. salome/bin/salome/appli/python_test_driver.py +148 -0
  37. salome/bin/salome/appli/salome +193 -0
  38. salome/bin/salome/appli/salome_instance.py +31 -0
  39. salome/bin/salome/appli/salome_test_driver.py +150 -0
  40. salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
  41. salome/bin/salome/appli_clean.sh +53 -0
  42. salome/bin/salome/appli_gen.py +606 -0
  43. salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
  44. salome/bin/salome/envSalome.py +59 -0
  45. salome/bin/salome/killSalome.py +48 -0
  46. salome/bin/salome/killSalomeWithPort.py +56 -0
  47. salome/bin/salome/prepare_generating_doc.py +104 -0
  48. salome/bin/salome/pythonpath_reduction.py +184 -0
  49. salome/bin/salome/runConsole.py +39 -0
  50. salome/bin/salome/runIDLparser +58 -0
  51. salome/bin/salome/runRemote.py +101 -0
  52. salome/bin/salome/runSalome.py +30 -0
  53. salome/bin/salome/runSalomeNoServer.py +24 -0
  54. salome/bin/salome/runSalomeOld.py +36 -0
  55. salome/bin/salome/runSalomeOnDemand.py +41 -0
  56. salome/bin/salome/salomeContext.py +36 -0
  57. salome/bin/salome/salome_process_attach +44 -0
  58. salome/bin/salome/salome_process_launcher +58 -0
  59. salome/bin/salome/setenv.py +32 -0
  60. salome/bin/salome/showNS.py +33 -0
  61. salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
  62. salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
  63. salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
  64. salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
  65. salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
  66. salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
  67. salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
  68. salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
  69. salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
  70. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
  71. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
  72. salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
  73. salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
  74. salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
  75. salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
  76. salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
  77. salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
  78. salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
  79. salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
  80. salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
  81. salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
  82. salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
  83. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
  84. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
  85. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
  86. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
  87. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
  88. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
  89. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
  90. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
  91. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
  92. salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
  93. salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
  94. salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
  95. salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
  96. salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
  97. salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
  98. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
  99. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
  100. salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
  101. salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
  102. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
  103. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
  104. salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
  105. salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
  106. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
  107. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
  108. salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
  109. salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
  110. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
  111. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
  112. salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
  113. salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
  114. salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
  115. salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
  116. salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
  117. salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
  118. salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
  119. salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
  120. salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
  121. salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
  122. salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
  123. salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
  124. salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
  125. salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
  126. salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
  127. salome/bin/salome/testDF +0 -0
  128. salome/bin/salome/testDS +0 -0
  129. salome/bin/salome/virtual_salome.py +38 -0
  130. salome/bin/salome/waitContainers.py +82 -0
  131. salome/bin/salome/waitNS.py +31 -0
  132. salome/kernel/ArgvKeeper.py +132 -0
  133. salome/kernel/Calcium_Ports_idl.py +645 -0
  134. salome/kernel/DSC_Engines_idl.py +443 -0
  135. salome/kernel/Engines/__init__.py +24 -0
  136. salome/kernel/Engines__POA/__init__.py +24 -0
  137. salome/kernel/Help.py +141 -0
  138. salome/kernel/KernelBasis.py +463 -0
  139. salome/kernel/KernelContainer.py +81 -0
  140. salome/kernel/KernelDS.py +87 -0
  141. salome/kernel/KernelLauncher.py +117 -0
  142. salome/kernel/KernelLogger.py +75 -0
  143. salome/kernel/KernelModuleCatalog.py +76 -0
  144. salome/kernel/KernelSDS.py +92 -0
  145. salome/kernel/KernelServices.py +105 -0
  146. salome/kernel/LifeCycleCORBA.py +92 -0
  147. salome/kernel/Logger_idl.py +89 -0
  148. salome/kernel/NSTEST/__init__.py +13 -0
  149. salome/kernel/NSTEST__POA/__init__.py +13 -0
  150. salome/kernel/NSparam_impl.py +50 -0
  151. salome/kernel/NamingService.py +365 -0
  152. salome/kernel/ORBConfigFile_impl.py +102 -0
  153. salome/kernel/Palm_Ports_idl.py +162 -0
  154. salome/kernel/PortManager.py +259 -0
  155. salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
  156. salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
  157. salome/kernel/Ports/__init__.py +18 -0
  158. salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
  159. salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
  160. salome/kernel/Ports__POA/__init__.py +18 -0
  161. salome/kernel/PyInterp.py +99 -0
  162. salome/kernel/Registry/__init__.py +13 -0
  163. salome/kernel/Registry__POA/__init__.py +13 -0
  164. salome/kernel/SALOME/__init__.py +19 -0
  165. salome/kernel/SALOMEDS/__init__.py +14 -0
  166. salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
  167. salome/kernel/SALOMEDS__POA/__init__.py +14 -0
  168. salome/kernel/SALOMEDS_idl.py +1590 -0
  169. salome/kernel/SALOMEWrappedStdType.py +383 -0
  170. salome/kernel/SALOME_Comm_idl.py +1045 -0
  171. salome/kernel/SALOME_CommonTypes_idl.py +69 -0
  172. salome/kernel/SALOME_ComponentPy.py +338 -0
  173. salome/kernel/SALOME_Component_idl.py +962 -0
  174. salome/kernel/SALOME_Container.py +242 -0
  175. salome/kernel/SALOME_ContainerHelper.py +840 -0
  176. salome/kernel/SALOME_ContainerManager_idl.py +236 -0
  177. salome/kernel/SALOME_DriverPy.py +86 -0
  178. salome/kernel/SALOME_Embedded_NamingService.py +41 -0
  179. salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
  180. salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
  181. salome/kernel/SALOME_Exception_idl.py +75 -0
  182. salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
  183. salome/kernel/SALOME_GenericObj_idl.py +154 -0
  184. salome/kernel/SALOME_GlobalsImpl.py +38 -0
  185. salome/kernel/SALOME_Launcher_idl.py +327 -0
  186. salome/kernel/SALOME_Locker_idl.py +185 -0
  187. salome/kernel/SALOME_LogManager.py +103 -0
  188. salome/kernel/SALOME_LogManager_idl.py +348 -0
  189. salome/kernel/SALOME_Logger/__init__.py +13 -0
  190. salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
  191. salome/kernel/SALOME_MPIObject_idl.py +100 -0
  192. salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
  193. salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
  194. salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
  195. salome/kernel/SALOME_NamingServicePy.py +313 -0
  196. salome/kernel/SALOME_PACOExtension_idl.py +292 -0
  197. salome/kernel/SALOME_ParamPorts_idl.py +102 -0
  198. salome/kernel/SALOME_Parametric_idl.py +154 -0
  199. salome/kernel/SALOME_Ports_idl.py +347 -0
  200. salome/kernel/SALOME_PyNode.py +1557 -0
  201. salome/kernel/SALOME_PyNode_idl.py +387 -0
  202. salome/kernel/SALOME_Registry_idl.py +155 -0
  203. salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
  204. salome/kernel/SALOME_SDS_idl.py +1181 -0
  205. salome/kernel/SALOME_Session_idl.py +214 -0
  206. salome/kernel/SALOME_TYPES/__init__.py +14 -0
  207. salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
  208. salome/kernel/SALOME_TestComponent_idl.py +121 -0
  209. salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
  210. salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
  211. salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
  212. salome/kernel/SALOME_Trace.py +96 -0
  213. salome/kernel/SALOME_Types_idl.py +81 -0
  214. salome/kernel/SALOME__POA/__init__.py +19 -0
  215. salome/kernel/SALOME_utilities.py +63 -0
  216. salome/kernel/SalomeSDSClt.py +552 -0
  217. salome/kernel/TestKiller.py +76 -0
  218. salome/kernel/Utils_Identity.py +93 -0
  219. salome/kernel/_ArgvKeeper.so +0 -0
  220. salome/kernel/_KernelBasis.so +0 -0
  221. salome/kernel/_KernelContainer.so +0 -0
  222. salome/kernel/_KernelDS.so +0 -0
  223. salome/kernel/_KernelLauncher.so +0 -0
  224. salome/kernel/_KernelLogger.so +0 -0
  225. salome/kernel/_KernelModuleCatalog.so +0 -0
  226. salome/kernel/_KernelSDS.so +0 -0
  227. salome/kernel/_KernelServices.so +0 -0
  228. salome/kernel/_NamingService.so +0 -0
  229. salome/kernel/_calcium.so +0 -0
  230. salome/kernel/_libNOTIFICATION.so +0 -0
  231. salome/kernel/_libSALOME_Comm.so +0 -0
  232. salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
  233. salome/kernel/_pylauncher.so +0 -0
  234. salome/kernel/addToKillList_impl.py +127 -0
  235. salome/kernel/batchmode_salome.py +295 -0
  236. salome/kernel/calcium.py +866 -0
  237. salome/kernel/dsccalcium.py +98 -0
  238. salome/kernel/iparameters.py +255 -0
  239. salome/kernel/kernel_test.py +114 -0
  240. salome/kernel/killSalomeWithPort_impl.py +518 -0
  241. salome/kernel/killSalome_impl.py +94 -0
  242. salome/kernel/launchConfigureParser.py +1234 -0
  243. salome/kernel/launcher_proxy.py +122 -0
  244. salome/kernel/libNOTIFICATION.py +119 -0
  245. salome/kernel/libSALOME_Comm.py +85 -0
  246. salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
  247. salome/kernel/main.py +8 -0
  248. salome/kernel/nameserver.py +134 -0
  249. salome/kernel/nstest_idl.py +129 -0
  250. salome/kernel/omnipatch.py +136 -0
  251. salome/kernel/orbmodule.py +246 -0
  252. salome/kernel/parseConfigFile.py +261 -0
  253. salome/kernel/pylauncher.py +883 -0
  254. salome/kernel/runConsole_impl.py +224 -0
  255. salome/kernel/runSalomeCommon.py +418 -0
  256. salome/kernel/runSalomeNoServer_impl.py +48 -0
  257. salome/kernel/runSalomeOld_impl.py +603 -0
  258. salome/kernel/runSalomeOnDemand_impl.py +72 -0
  259. salome/kernel/runSalome_impl.py +341 -0
  260. salome/kernel/runSession.py +360 -0
  261. salome/kernel/runTests.py +90 -0
  262. salome/kernel/salome/__init__.py +646 -0
  263. salome/kernel/salome/kernel/__init__.py +111 -0
  264. salome/kernel/salome/kernel/datamodeler.py +363 -0
  265. salome/kernel/salome/kernel/deprecation.py +165 -0
  266. salome/kernel/salome/kernel/diclookup.py +137 -0
  267. salome/kernel/salome/kernel/enumerate.py +232 -0
  268. salome/kernel/salome/kernel/logconfig.py +27 -0
  269. salome/kernel/salome/kernel/logger.py +290 -0
  270. salome/kernel/salome/kernel/parametric/__init__.py +26 -0
  271. salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
  272. salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
  273. salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
  274. salome/kernel/salome/kernel/pyunittester.py +184 -0
  275. salome/kernel/salome/kernel/services.py +267 -0
  276. salome/kernel/salome/kernel/studyedit.py +637 -0
  277. salome/kernel/salome/kernel/syshelper.py +116 -0
  278. salome/kernel/salome/kernel/termcolor.py +239 -0
  279. salome/kernel/salome/kernel/testdata.py +159 -0
  280. salome/kernel/salome/kernel/threadhelper.py +385 -0
  281. salome/kernel/salome/kernel/uiexception.py +121 -0
  282. salome/kernel/salome/kernel/unittester.py +89 -0
  283. salome/kernel/salomeContextUtils.py +353 -0
  284. salome/kernel/salomeContext_impl.py +731 -0
  285. salome/kernel/salome_ComponentGUI.py +92 -0
  286. salome/kernel/salome_genericobj.py +44 -0
  287. salome/kernel/salome_iapp.py +206 -0
  288. salome/kernel/salome_instance_impl.py +109 -0
  289. salome/kernel/salome_kernel_utils.py +88 -0
  290. salome/kernel/salome_notebook.py +183 -0
  291. salome/kernel/salome_psutil.py +94 -0
  292. salome/kernel/salome_pynode.py +74 -0
  293. salome/kernel/salome_study.py +347 -0
  294. salome/kernel/salome_test.py +56 -0
  295. salome/kernel/salome_utils.py +563 -0
  296. salome/kernel/salome_version.py +164 -0
  297. salome/kernel/searchFreePort.py +130 -0
  298. salome/kernel/server.py +154 -0
  299. salome/kernel/setenv_impl.py +240 -0
  300. salome/kernel/version_and_config.py +24 -0
  301. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  302. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  303. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  304. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  305. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  306. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  307. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  308. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  309. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  310. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  311. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  312. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  313. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  314. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  315. salome/share/salome/resources/kernel/app-template/README +0 -0
  316. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  317. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  318. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  319. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  320. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  321. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  322. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  323. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  324. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  325. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  326. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  327. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  328. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  329. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  330. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  331. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  332. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  333. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  334. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  335. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  336. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  337. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  338. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  339. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  340. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  341. salome/share/salome/resources/kernel/background.png +0 -0
  342. salome/share/salome/resources/kernel/channel.cfg +278 -0
  343. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  344. salome.kernel-9.14.0.dist-info/METADATA +24 -0
  345. salome.kernel-9.14.0.dist-info/RECORD +399 -0
  346. salome.kernel-9.14.0.dist-info/WHEEL +6 -0
  347. salome.kernel-9.14.0.dist-info/entry_points.txt +2 -0
  348. salome.kernel.libs/libArgvKeeper-822351d5.so +0 -0
  349. salome.kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  350. salome.kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  351. salome.kernel.libs/libCalciumC-a61b99a1.so +0 -0
  352. salome.kernel.libs/libDF-281cc999.so +0 -0
  353. salome.kernel.libs/libLauncher-09c39914.so +0 -0
  354. salome.kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
  355. salome.kernel.libs/libOpUtil-8d37ccc8.so +0 -0
  356. salome.kernel.libs/libRegistry-e4a63a9e.so +0 -0
  357. salome.kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  358. salome.kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  359. salome.kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  360. salome.kernel.libs/libSALOMELog-55805468.so +0 -0
  361. salome.kernel.libs/libSalomeCalcium-6800d8d0.so +0 -0
  362. salome.kernel.libs/libSalomeCatalog-96c5b2bc.so +0 -0
  363. salome.kernel.libs/libSalomeCommunication-451307b4.so +0 -0
  364. salome.kernel.libs/libSalomeContainer-d4557377.so +0 -0
  365. salome.kernel.libs/libSalomeContainerServer-372d46c2.so +0 -0
  366. salome.kernel.libs/libSalomeDS-34cd5abf.so +0 -0
  367. salome.kernel.libs/libSalomeDSCContainer-ee0cf498.so +0 -0
  368. salome.kernel.libs/libSalomeDSCSuperv-f529bca5.so +0 -0
  369. salome.kernel.libs/libSalomeDSCSupervBasic-e6a3b4cf.so +0 -0
  370. salome.kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
  371. salome.kernel.libs/libSalomeDSImpl-cb508584.so +0 -0
  372. salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
  373. salome.kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
  374. salome.kernel.libs/libSalomeHDFPersist-69945ed0.so +0 -0
  375. salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  376. salome.kernel.libs/libSalomeKernelHelpers-1514c9e0.so +0 -0
  377. salome.kernel.libs/libSalomeLauncher-f5fc4b7e.so +0 -0
  378. salome.kernel.libs/libSalomeLifeCycleCORBA-69902a7b.so +0 -0
  379. salome.kernel.libs/libSalomeLoggerServer-3668e9ae.so +0 -0
  380. salome.kernel.libs/libSalomeNS-a03a7eba.so +0 -0
  381. salome.kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
  382. salome.kernel.libs/libSalomeORB-f304f4df.so +0 -0
  383. salome.kernel.libs/libSalomePalm-4204405e.so +0 -0
  384. salome.kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
  385. salome.kernel.libs/libSalomeSDS-896ae3bb.so +0 -0
  386. salome.kernel.libs/libSalomeTestComponentEngine-9899af25.so +0 -0
  387. salome.kernel.libs/libTOOLSDS-db8e8629.so +0 -0
  388. salome.kernel.libs/libbatch-6b5b319f.so +0 -0
  389. salome.kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  390. salome.kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  391. salome.kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  392. salome.kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  393. salome.kernel.libs/libhdf5-60e81d69.so.103.0.0 +0 -0
  394. salome.kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  395. salome.kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  396. salome.kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  397. salome.kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  398. salome.kernel.libs/libwith_loggerTraceCollector-6b94c51b.so +0 -0
  399. salome.kernel.libs/libwith_loggerTraceCollector.so +0 -0
  400. salome.kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
@@ -0,0 +1,882 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2007-2024 CEA, EDF, 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 os
25
+ import os.path as osp
26
+ import re
27
+ import xml.sax
28
+
29
+ from xml.sax.handler import *
30
+ from omniidl import idlast, idltype, idlvisitor, idlutil, output
31
+ from salome_utils import getUserName
32
+
33
+ # parameters not found in IDL file, user's specified in optional parameters
34
+ common_data={"AUTHOR" : "",
35
+ "ICON" : "",
36
+ "VERSION" : "",
37
+ "COMP_TYPE" : "",
38
+ "COMP_NAME" : "",
39
+ "COMP_UNAME" : "",
40
+ "COMP_IMPL" : ""
41
+ }
42
+
43
+ nb_components = 0
44
+
45
+ #--------------------------------------------------
46
+ # extract value of <param_name> from <args> list
47
+ # it's proposed that the matching <args> item
48
+ # looks like <param_name>=<value>, for example,
49
+ # catalog=/tmp/myxml.xml
50
+ #--------------------------------------------------
51
+ def getParamValue( param_name, default_value, args ):
52
+ pattern="^"+param_name+"="
53
+
54
+ res = default_value #initial value
55
+ for opt in args:
56
+ s = re.compile(pattern).search(opt)
57
+ if s:
58
+ res = opt[s.end():]
59
+ break #found
60
+
61
+ return res
62
+
63
+
64
+ #--------------------------------------------------
65
+ # print error message
66
+ #--------------------------------------------------
67
+ def error (message):
68
+ print("ERROR : ", message)
69
+
70
+
71
+ #--------------------------------------------------
72
+ # base class implementing tree
73
+ #--------------------------------------------------
74
+ class Tree:
75
+
76
+ def __init__(self, name = '', content = '', key = None):
77
+ self.name = name
78
+ self.content = content
79
+ self.key = key
80
+ self.parent = None
81
+ self.childs = []
82
+ self.comments = []
83
+ self.attrs={}
84
+
85
+ def addChild(self, tree):
86
+ if tree is not None:
87
+ self.childs.append(tree)
88
+ tree.parent = self
89
+ return tree
90
+
91
+ def addNamedChild(self, name, content = ''):
92
+ return self.addChild(Tree(name, content))
93
+
94
+ def replaceChild(self, tree):
95
+ if tree is not None:
96
+ pos = 0
97
+ for i in self.childs:
98
+ if (i.name == tree.name) & ((i.key is None) | (i.key == tree.key)):
99
+ self.childs.pop(pos)
100
+ self.childs.insert(pos, tree)
101
+ return tree
102
+ pos += 1
103
+
104
+ return self.addChild(tree)
105
+
106
+ def insertFirstChild(self, tree):
107
+ if tree is not None:
108
+ self.childs.insert(0, tree)
109
+ return tree
110
+
111
+ def insertFirstNamedChild(self, name, content = ''):
112
+ return self.insertFirstChild(Tree(name, content))
113
+
114
+ def output_xml(self, f, depth=0):
115
+ d = depth
116
+ if self.name != '':
117
+ s = ''.ljust(4*depth)
118
+ s += '<' + self.name
119
+ for k,v in list(self.attrs.items()):
120
+ s += ' ' + k + '="' + v + '"'
121
+ s += '>'
122
+ if self.content != '':
123
+ s += self.content
124
+ else:
125
+ if len(self.childs) > 0:
126
+ s += '\n'
127
+ f.write(s)
128
+ d += 1
129
+
130
+ for i in self.childs:
131
+ i.output_xml(f, d)
132
+
133
+ if self.name != '':
134
+ s = '</' + self.name + '>\n'
135
+ if len(self.childs) > 0 :
136
+ s = ''.ljust(4*depth) + s
137
+ f.write(s)
138
+
139
+ def Dump(self, levels=-1, depth=0):
140
+ #Dumps the tree contents
141
+
142
+ if levels == 0: return
143
+
144
+ s = ''.ljust(4*depth)
145
+ print(s, self, self.content)
146
+ for i in self.childs:
147
+ i.Dump(levels-1, depth+1)
148
+
149
+ def parents(self):
150
+ #Returns list of the parents
151
+ l = []
152
+ p = self.parent
153
+ while p:
154
+ l.append(p)
155
+ l.append(p.name)
156
+ p = p.parent
157
+ return l
158
+
159
+ def getChild(self, name, content=None):
160
+ # return child node with a given name
161
+ # if content == None, don't compare contents
162
+ for i in self.childs:
163
+ if (i.name == name):
164
+ if (content is None) | (i.content == content):
165
+ return i
166
+ return None
167
+
168
+ def getNode(self, name, content='', depth=-1):
169
+ # recursive search of a node with a given name
170
+ # content == None, don't compare content
171
+ if (self.name == name):
172
+ if (content is None) | (self.content == content):
173
+ return self
174
+
175
+ if (depth != 0):
176
+ for i in self.childs:
177
+ n = i.getNode(name, content, depth-1)
178
+ if n: return n
179
+
180
+ return None
181
+
182
+ def __repr__(self):
183
+ s = '<'
184
+ if self.name != '':
185
+ s += self.name
186
+ else:
187
+ s += 'None'
188
+ s += '>'
189
+ return s
190
+
191
+ def merge(self, t):
192
+ pass
193
+
194
+ def mergeChilds(self, t, list):
195
+ L_ext = t.getChild(list)
196
+ L_int = self.getChild(list)
197
+
198
+ L_merge = Tree(list)
199
+
200
+ for i_ext in L_ext.childs:
201
+ k_ext = i_ext.key
202
+ if k_ext is None: continue
203
+ present = 0
204
+
205
+ for i_int in L_int.childs:
206
+ k_int = i_int.key
207
+ if k_int is None: continue
208
+
209
+ if (k_int == k_ext):
210
+ present = 1
211
+ break;
212
+
213
+ if present :
214
+ i_int.merge(i_ext)
215
+ L_merge.addChild(i_int)
216
+ else:
217
+ L_merge.addChild(i_ext)
218
+
219
+ self.replaceChild(L_merge)
220
+
221
+ def setAttrib(self, name,value):
222
+ self.attrs[name]=value
223
+
224
+
225
+ #--------------------------------------------------
226
+ # implements parameter tree
227
+ #--------------------------------------------------
228
+ class parameter(Tree):
229
+
230
+ def __init__(self, name=None, mode = 'in', type='', comment='unknown'):
231
+ Tree.__init__(self, mode + 'Parameter', key=name)
232
+ self.mode = mode
233
+ if name is None: return
234
+
235
+ self.addNamedChild(mode + 'Parameter-name', name)
236
+ self.addNamedChild(mode + 'Parameter-type', type)
237
+ self.addNamedChild(mode + 'Parameter-comment', comment)
238
+
239
+ def merge(self, P):
240
+
241
+ self.mode = P.mode
242
+ self.replaceChild(P.getChild(P.mode + 'Parameter-name'))
243
+ self.replaceChild(P.getChild(P.mode + 'Parameter-type'))
244
+ C = P.getChild(P.mode + 'Parameter-comment')
245
+ if C.content != 'unkonwn':
246
+ self.replaceChild(C)
247
+
248
+ #--------------------------------------------------
249
+ # implements dataStreamParameter tree
250
+ #--------------------------------------------------
251
+ class dataStreamParameter(parameter):
252
+
253
+ def __init__(self, name=None, mode='in', type='', dependency='', comment='unknown'):
254
+ parameter.__init__(self, name, mode, type, comment)
255
+ if name is None: return
256
+
257
+ self.addNamedChild(mode + 'Parameter-dependency', dependency)
258
+ self.mode = mode
259
+
260
+ def merge(self, P):
261
+
262
+ parameter.merge(self, P)
263
+ self.replaceChild(P.getChild(mode + 'Parameter-dependency'))
264
+
265
+
266
+ def parseComment(comment):
267
+
268
+ spaces = '[\t\n ]*'
269
+ word = spaces + '([a-zA-Z][a-zA-Z0-9_]*)' + spaces
270
+
271
+ result = []
272
+ type = None
273
+ key = None
274
+
275
+ ## match : // followed by a 'DataStreamPorts' string,
276
+ ## the service name, and a list of ports
277
+ pattern = '// *DataStreamPorts{,1}' + word
278
+ m = re.match(pattern, comment)
279
+
280
+ ## if there is a match, parse remaining part of comment
281
+ if m:
282
+ ## service
283
+ type = 'DataStreamPorts'
284
+ key = m.group(1)
285
+
286
+ sPorts = comment[m.end():]
287
+ pattern = word + '\('+word+','+word +','+word+'\)' \
288
+ + spaces + ',{,1}' + spaces
289
+ while len(sPorts) > 0:
290
+ ## process next DataStreamPort
291
+ ## match a definition like xx(a,b,c) with a possible trailing ,
292
+ ## returns a tuple (xx, a, b, c) and
293
+ ## the remaining part of input string
294
+ m = re.match(pattern, sPorts)
295
+ if m is None:
296
+ raise LookupError('format error in DataStreamPort definition : '+sPorts)
297
+ sPorts = sPorts[m.end():]
298
+ result.append(m.groups())
299
+
300
+ return type, key, result;
301
+
302
+ #--------------------------------------------------
303
+ # implements service tree
304
+ #--------------------------------------------------
305
+ class Service(Tree):
306
+
307
+ def __init__(self, name=None, comment = 'unknown'):
308
+
309
+ Tree.__init__(self, 'component-service', key=name)
310
+ if name is None: return
311
+
312
+ self.addNamedChild('service-name', name)
313
+ self.addNamedChild('service-author',common_data["AUTHOR"])
314
+ self.addNamedChild('service-version',common_data["VERSION"])
315
+ self.addNamedChild('service-comment', comment)
316
+ self.addNamedChild('service-by-default', "0")
317
+ self.addNamedChild('inParameter-list')
318
+ self.addNamedChild('outParameter-list')
319
+ self.addNamedChild('DataStream-list')
320
+
321
+ def createInParameter(self, name, type):
322
+ L = self.getChild('inParameter-list')
323
+ p = parameter(name, 'in', type)
324
+ L.replaceChild(p)
325
+ return p
326
+
327
+ def createOutParameter(self, name, type):
328
+ L = self.getChild('outParameter-list')
329
+ p = parameter(name, 'out', type)
330
+ L.replaceChild(p)
331
+ return p
332
+
333
+ def createDataStreamParameter(self, p):
334
+ L = self.getChild('DataStream-list')
335
+ p = dataStreamParameter(p[0], p[2], p[1], p[3])
336
+ L.replaceChild(p)
337
+ return p
338
+
339
+ def merge(self, S):
340
+
341
+ self.replaceChild(S.getChild('service-author'))
342
+ self.replaceChild(S.getChild('service-version'))
343
+ self.replaceChild(S.getChild('service-by-default'))
344
+ C = S.getChild('service-comment')
345
+ if C.content != 'unkonwn':
346
+ self.replaceChild(C)
347
+
348
+ for L in ['inParameter-list', 'outParameter-list', 'DataStream-list']:
349
+ self.mergeChilds(S, L)
350
+
351
+
352
+ #--------------------------------------------------
353
+ # implements interface tree
354
+ #--------------------------------------------------
355
+ class Interface(Tree):
356
+
357
+ def __init__(self, name=None, comment='unknown'):
358
+
359
+ Tree.__init__(self, key=name)
360
+
361
+ if name is None: return
362
+
363
+ self.addNamedChild('component-interface-name', name)
364
+ self.addNamedChild('component-interface-comment', comment);
365
+ self.addNamedChild('component-service-list')
366
+
367
+ def createService(self, name):
368
+ L = self.getChild('component-service-list')
369
+
370
+ if L is None:
371
+ error ("Interface.createService() : 'component-service-list' is not found")
372
+ return None
373
+
374
+ s = Service(name)
375
+ L.addChild(s)
376
+ return s
377
+
378
+ def findService(self, key):
379
+ L = self.getChild('component-service-list')
380
+ for S in L.childs:
381
+ if S.key == key:
382
+ return S
383
+ return None
384
+
385
+ def merge(self, I):
386
+
387
+ C = S.getChild('component-interface-comment')
388
+ if C.content != 'unkonwn':
389
+ self.replaceChild(C)
390
+
391
+ self.mergeChilds(I, 'component-service-list')
392
+
393
+ def processDataStreams(self):
394
+ for sComment in self.comments:
395
+
396
+ type, key, result = parseComment(sComment)
397
+
398
+ if type == 'DataStreamPorts':
399
+ Service = self.findService(key)
400
+ if Service is None:
401
+ raise LookupError('service ' + key + \
402
+ ' not found in interface : ' + self.key)
403
+ for p in result:
404
+ ## process next DataStreamPort
405
+ Service.createDataStreamParameter(p)
406
+
407
+
408
+ #--------------------------------------------------
409
+ # implements Component tree
410
+ #--------------------------------------------------
411
+ class Component(Tree):
412
+ def __init__(self, name=None):
413
+ Tree.__init__(self, 'component', key=name)
414
+ if name is None: return
415
+
416
+ # ASV : fix for bug PAL8922 (Component name indicated by user in GUI is not taken into account
417
+ if common_data["COMP_NAME"] != '':
418
+ self.addNamedChild('component-name', common_data["COMP_NAME"])
419
+ else:
420
+ self.addNamedChild('component-name', name)
421
+
422
+ # ASV : if user name is NOT set, then use component-name instead. Else - default.
423
+ if common_data["COMP_UNAME"] != '':
424
+ self.addNamedChild('component-username', common_data["COMP_UNAME"])
425
+ else:
426
+ if common_data["COMP_NAME"] != '':
427
+ self.addNamedChild('component-username', common_data["COMP_NAME"] )
428
+ else:
429
+ self.addNamedChild('component-username', name)
430
+
431
+ self.addNamedChild('component-type', common_data["COMP_TYPE"])
432
+ self.addNamedChild('component-author', common_data["AUTHOR"])
433
+ self.addNamedChild('component-version', common_data["VERSION"])
434
+ self.addNamedChild('component-comment', 'unknown')
435
+ self.addNamedChild('component-impltype', common_data["COMP_IMPL"])
436
+ self.addNamedChild('component-icone', common_data["ICON"])
437
+ self.addNamedChild('constraint')
438
+ self.addNamedChild('component-interface-list')
439
+
440
+ def createInterface(self, name):
441
+ L = self.getChild('component-interface-list')
442
+ if L is None:
443
+ error("createInterface: No component-interface-list is found")
444
+ return None
445
+ i = Interface(name)
446
+ L.addChild(i)
447
+ return i
448
+
449
+ def merge(self, C):
450
+
451
+ for i in ['component-username', 'component-author',
452
+ 'component-type', 'component-icone', 'component-version',
453
+ 'component-impltype', 'constraint']:
454
+ ext = C.getChild(i)
455
+ int = self.getChild(i)
456
+ if int is None:
457
+ int = ext
458
+ elif ext is not None and len(ext.content):
459
+ int.content = ext.content
460
+
461
+ Cc = C.getChild('component-comment')
462
+ if Cc.content != 'unkonwn':
463
+ self.replaceChild(Cc)
464
+
465
+ self.mergeChilds(C, 'component-interface-list')
466
+
467
+ #--------------------------------------------------
468
+ # implements document tree
469
+ #--------------------------------------------------
470
+ class Catalog(ContentHandler, Tree):
471
+ def __init__(self, filename = None):
472
+ Tree.__init__(self)
473
+ self.buffer = ''
474
+ self.list = []
475
+ if (filename):
476
+ parser = xml.sax.make_parser()
477
+ parser.setContentHandler(self)
478
+ parser.parse(filename)
479
+ else:
480
+ t = self.addNamedChild('begin-catalog')
481
+ t.addNamedChild('type-list')
482
+ t.addNamedChild('component-list')
483
+
484
+ n = self.getChild('begin-catalog')
485
+ if n is None:
486
+ error("Catalog.__init__ : No 'begin-catalog' is found!")
487
+ return
488
+ if n.getChild('path-prefix-list') is None:
489
+ n.insertFirstNamedChild('path-prefix-list')
490
+ if n.getChild('type-list') is None:
491
+ p=n.childs.index(n.getChild('path-prefix-list'))
492
+ n.childs.insert(p+1,Tree('type-list'))
493
+ if n.getChild('component-list') is None:
494
+ n.addNamedChild('component-list')
495
+
496
+ def removeComponent(self, name):
497
+ complist = self.getNode('component-list')
498
+ idx = 0
499
+ if complist is None:
500
+ print("Catalog.removeComponent() : 'component-list' is not found")
501
+ return
502
+ for comp in complist.childs:
503
+ cname = comp.getChild('component-name')
504
+ if cname is not None:
505
+ if cname.content == name:
506
+ complist.childs.pop(idx)
507
+ print("Component " + name + " is removed")
508
+ idx += 1
509
+
510
+ def startDocument(self):
511
+ self.list.append(self)
512
+
513
+ def startElement(self, name, attrs):
514
+ p = self.list[len(self.list)-1]
515
+ if name == 'component':
516
+ e = p.addChild(Component())
517
+ elif name == 'component-interface-name':
518
+ e = p.addNamedChild(name)
519
+ elif name == 'component-service':
520
+ e = p.addChild(Service())
521
+ elif name == 'inParameter':
522
+ e = p.addChild(parameter(mode='in'))
523
+ elif name == 'outParameter':
524
+ e = p.addChild(parameter(mode='out'))
525
+ elif name == 'sequence':
526
+ e = p.addChild(SeqType(attrs["name"],attrs["content"]))
527
+ elif name == 'objref':
528
+ e = p.addChild(ObjType(attrs["name"]))
529
+ elif name == 'struct':
530
+ e = p.addChild(StructType(attrs["name"]))
531
+ elif name == 'type':
532
+ e = p.addChild(Type(attrs["name"],attrs["kind"]))
533
+ elif name == 'member':
534
+ e = p.addChild(Member(attrs["name"],attrs["type"]))
535
+ else:
536
+ e = p.addNamedChild(name)
537
+ self.list.append(e)
538
+ self.buffer = ''
539
+
540
+ def endElement(self, name):
541
+ self.buffer = ' '.join(self.buffer.split())
542
+ p = self.list[len(self.list)-1]
543
+ p.content = self.buffer
544
+ if name == 'component':
545
+ p.key = p.getChild('component-name').content
546
+ self.buffer = ''
547
+ e = self.list.pop()
548
+
549
+ def characters(self, ch):
550
+ self.buffer += ch
551
+
552
+ def mergeComponent(self, comp):
553
+
554
+ L_int = self.getNode('component-list')
555
+ if L_int is None:
556
+ error("Catalog.mergeComponent : 'component-list' is not found")
557
+ return
558
+
559
+ i_ext = comp
560
+ present = 0
561
+ n_ext = i_ext.key
562
+ for i_int in L_int.childs:
563
+ if (i_int.key == n_ext):
564
+ present = 1
565
+ break;
566
+
567
+ if present == 0:
568
+ print(' add component', i_ext.getChild('component-name').content)
569
+ L_int.addChild(i_ext)
570
+ else:
571
+ print(' replace component', i_ext.getChild('component-name').content)
572
+ i_int.merge(i_ext)
573
+
574
+ def mergeType(self, type):
575
+ L_int = self.getNode('type-list')
576
+ if L_int is None:
577
+ error("Catalog.mergeType : 'type-list' is not found")
578
+ return
579
+ for t in L_int.childs:
580
+ if t.attrs["name"] == type.attrs["name"]:
581
+ t.merge(type)
582
+ return
583
+
584
+ L_int.addChild(type)
585
+
586
+ class Member(Tree):
587
+ def __init__(self, name,type):
588
+ Tree.__init__(self, 'member')
589
+ self.setAttrib("name",name)
590
+ self.setAttrib("type",type)
591
+
592
+ class Type(Tree):
593
+ def __init__(self, name,kind):
594
+ Tree.__init__(self, 'type')
595
+ self.setAttrib("name",name)
596
+ self.setAttrib("kind",kind)
597
+
598
+ def merge(self,t):
599
+ self.setAttrib("kind",t.attrs["kind"])
600
+
601
+ class SeqType(Tree):
602
+ def __init__(self, name,content):
603
+ Tree.__init__(self, 'sequence')
604
+ self.setAttrib("name",name)
605
+ self.setAttrib("content",content)
606
+
607
+ def merge(self,t):
608
+ self.setAttrib("content",t.attrs["content"])
609
+
610
+ class StructType(Tree):
611
+ def __init__(self, name):
612
+ Tree.__init__(self, 'struct')
613
+ self.setAttrib("name",name)
614
+
615
+ def merge(self,t):
616
+ #remove childs and replace by t childs
617
+ self.childs=[]
618
+ for c in t.childs:
619
+ self.childs.append(c)
620
+
621
+ class ObjType(Tree):
622
+ def __init__(self, name):
623
+ Tree.__init__(self, 'objref')
624
+ self.setAttrib("name",name)
625
+
626
+ def merge(self,t):
627
+ RepoId=t.attrs.get("id")
628
+ if RepoId:
629
+ self.setAttrib("id",RepoId)
630
+ #remove childs and replace by t childs
631
+ self.childs=[]
632
+ for c in t.childs:
633
+ self.childs.append(c)
634
+
635
+ # IDL file reader
636
+
637
+ ttsMap = {
638
+ idltype.tk_void: "void",
639
+ idltype.tk_short: "short",
640
+ idltype.tk_long: "long",
641
+ idltype.tk_ushort: "unsigned short",
642
+ idltype.tk_ulong: "unsigned long",
643
+ idltype.tk_float: "float",
644
+ idltype.tk_double: "double",
645
+ idltype.tk_boolean: "boolean",
646
+ idltype.tk_char: "char",
647
+ idltype.tk_octet: "octet",
648
+ idltype.tk_any: "any",
649
+ idltype.tk_TypeCode: "CORBA::TypeCode",
650
+ idltype.tk_Principal: "CORBA::Principal",
651
+ idltype.tk_longlong: "long long",
652
+ idltype.tk_ulonglong: "unsigned long long",
653
+ idltype.tk_longdouble: "long double",
654
+ idltype.tk_wchar: "wchar"
655
+ }
656
+
657
+
658
+ #--------------------------------------------------
659
+ # class ModuleCatalogVisitor
660
+ #--------------------------------------------------
661
+ class ModuleCatalogVisitor (idlvisitor.AstVisitor):
662
+
663
+ def __init__(self, catalog):
664
+ self.catalog = catalog
665
+ self.EngineType = 0
666
+ self.currentScope=None
667
+
668
+ def visitAST(self, node):
669
+ for n in node.declarations():
670
+ if n.mainFile():
671
+ n.accept(self)
672
+
673
+ def visitModule(self, node):
674
+ self.currentScope=node
675
+ for n in node.definitions():
676
+ n.accept(self)
677
+
678
+ def visitInterface(self, node):
679
+ if node.mainFile():
680
+
681
+ self.EngineType = 0
682
+
683
+ for i in node.inherits():
684
+ s = i.scopedName();
685
+ if s[0] == "Engines":
686
+ if s[1] == "EngineComponent":
687
+ self.EngineType = 1; break
688
+ if s[1] == "Superv_Component":
689
+ self.EngineType = 2; break
690
+
691
+ if self.EngineType:
692
+ #This interface is a SALOME component
693
+ Comp = Component(node.identifier())
694
+
695
+ self.currentInterface = Comp.createInterface(node.identifier())
696
+
697
+ for c in node.callables():
698
+ if isinstance(c, idlast.Operation):
699
+ c.accept(self)
700
+
701
+ for c in node.declarations():
702
+ if isinstance(c, idlast.Struct):
703
+ c.accept(self)
704
+
705
+ for i in node.comments():
706
+ self.currentInterface.comments.append(str(i))
707
+
708
+ if self.EngineType == 2:
709
+ self.currentInterface.processDataStreams()
710
+
711
+ global nb_components
712
+ nb_components = nb_components + 1
713
+ self.catalog.mergeComponent(Comp)
714
+
715
+ else:
716
+ #This interface is not a component : use it as a DataType
717
+ t=ObjType("/".join(node.scopedName()))
718
+ for i in node.inherits():
719
+ t.addNamedChild("base","/".join(i.scopedName()))
720
+ self.catalog.mergeType(t)
721
+
722
+ self.EngineType = 0
723
+
724
+
725
+ def visitOperation(self, node):
726
+
727
+ self.currentService = self.currentInterface.createService \
728
+ (node.identifier())
729
+
730
+ node.returnType().accept(self)
731
+ if (self.currentType != "void"):
732
+ self.currentService.createOutParameter \
733
+ ("return", self.currentType)
734
+
735
+ for c in node.parameters():
736
+ c.accept(self)
737
+
738
+ for i in node.comments():
739
+ self.currentInterface.comments.append(str(i))
740
+
741
+
742
+ def visitDeclaredType(self, type):
743
+ name=type.name()
744
+ scoped_name="/".join(type.scopedName())
745
+ self.currentType = scoped_name
746
+
747
+ def visitBaseType(self, type):
748
+ self.currentType = ttsMap[type.kind()]
749
+
750
+ def visitStringType(self, type):
751
+ self.currentType = "string"
752
+
753
+ def visitWStringType(self, type):
754
+ self.currentType = "wstring"
755
+
756
+ def visitParameter(self, node):
757
+ node.paramType().accept(self)
758
+ if node.is_in():
759
+ self.currentService.createInParameter \
760
+ (node.identifier(), self.currentType)
761
+ if node.is_out():
762
+ self.currentService.createOutParameter \
763
+ (node.identifier(), self.currentType)
764
+
765
+ def visitSequenceType(self,type):
766
+ type.seqType().accept(self)
767
+ if type.bound() == 0:
768
+ self.contentType=self.currentType
769
+ self.currentType = "sequence"
770
+ else:
771
+ self.currentType = None
772
+
773
+ def visitTypedef(self, node):
774
+ if node.constrType():
775
+ node.aliasType().decl().accept(self)
776
+
777
+ node.aliasType().accept(self)
778
+ type = self.currentType
779
+ if not type:
780
+ return
781
+ decll = []
782
+ for d in node.declarators():
783
+ d.accept(self)
784
+ if self.__result_declarator:
785
+ decll.append(self.__result_declarator)
786
+ if type == "sequence":
787
+ #it's a sequence type
788
+ for name in decll:
789
+ scoped_name="/".join(self.currentScope.scopedName()+[name])
790
+ self.catalog.mergeType(SeqType(scoped_name,self.contentType))
791
+ #else:
792
+ #it's an alias
793
+ # for name in decll:
794
+ # scoped_name="/".join(self.currentScope.scopedName()+[name])
795
+ # self.catalog.mergeType(Type(scoped_name,type))
796
+
797
+ def visitStruct(self, node):
798
+ t=StructType("/".join(node.scopedName()))
799
+ for m in node.members():
800
+ if m.constrType():
801
+ m.memberType().decl().accept(self)
802
+
803
+ m.memberType().accept(self)
804
+ type = self.currentType
805
+ for d in m.declarators():
806
+ d.accept(self)
807
+ t.addChild(Member(self.__result_declarator,type))
808
+
809
+ self.catalog.mergeType(t)
810
+
811
+ def visitDeclarator(self, node):
812
+ if node.sizes():
813
+ self.__result_declarator =None
814
+ else:
815
+ self.__result_declarator =node.identifier()
816
+
817
+ #--------------------------------------------------
818
+ # parse idl and store xml file
819
+ #--------------------------------------------------
820
+ def run(tree, args):
821
+
822
+ CatalogFileName=getParamValue("catalog", "CatalogModulePersonnel.xml", args)
823
+ if re.compile(".*?.xml$").match(CatalogFileName, 1) is None:
824
+ CatalogFileName = CatalogFileName + '.xml'
825
+
826
+ #========= Read parameters ======================
827
+ common_data["ICON"] = getParamValue("icon", "", args)
828
+ common_data["AUTHOR"] = getParamValue("author", getUserName(), args)
829
+ common_data["VERSION"] = getParamValue("version", "1", args)
830
+ common_data["COMP_NAME"] = getParamValue("name", "", args)
831
+ common_data["COMP_UNAME"] = getParamValue("username", "", args)
832
+ common_data["COMP_TYPE"] = getParamValue("type", "OTHER", args)
833
+ common_data["COMP_IMPL"] = getParamValue("impltype", "1", args)
834
+
835
+ print(common_data)
836
+
837
+ remove_comp = getParamValue("remove", "", args)
838
+
839
+ #==================================================
840
+
841
+ if (osp.exists(CatalogFileName)):
842
+ print("Importing", CatalogFileName)
843
+ C = Catalog(CatalogFileName)
844
+ else:
845
+ print("Creating ",CatalogFileName)
846
+ C = Catalog()
847
+
848
+ print("Reading idl file")
849
+
850
+ visitor = ModuleCatalogVisitor(C)
851
+ tree.accept(visitor)
852
+
853
+ ## C.Dump()
854
+
855
+ if remove_comp :
856
+ C.removeComponent(remove_comp)
857
+
858
+ if (osp.exists(CatalogFileName)):
859
+ print("Updating", CatalogFileName)
860
+ CatalogFileName_old = CatalogFileName + '_old'
861
+ os.rename(CatalogFileName, CatalogFileName_old)
862
+ else:
863
+ CatalogFileName_old = ""
864
+ print("Writing", CatalogFileName)
865
+
866
+ CatalogFileName_new = CatalogFileName + '_new'
867
+ f=open(CatalogFileName_new, 'w')
868
+ f.write("<?xml version='1.0' encoding='us-ascii' ?>\n\n")
869
+ C.output_xml(f)
870
+ f.close()
871
+
872
+ os.rename(CatalogFileName_new, CatalogFileName)
873
+ if ((CatalogFileName_old != "") & osp.exists(CatalogFileName_old)):
874
+ os.unlink(CatalogFileName_old)
875
+
876
+ print()
877
+
878
+
879
+ if __name__ == "__main__":
880
+ print()
881
+ print("Usage : omniidl -bIDLparser [-I<catalog files directory>]* -Wbcatalog=<my_catalog.xml>[,icon=<pngfile>][,version=<num>][,author=<name>][,name=<component_name>][,username=<component_username>][,impltype=<implementation type : 0 (python), 1 (C++)>] <file.idl>")
882
+ print()