3 # SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
5 # Copyright (C) 2003 CEA/DEN, EDF R&D
9 # File : batchmode_SuperV.py
13 from batchmode_salome import orb
14 from batchmode_salome import lcc
15 from batchmode_salome import naming_service
16 from batchmode_salome import CORBA
17 from batchmode_salome import myStudy
18 import SALOME_ModuleCatalog
23 from LifeCycleCORBA import *
24 from SALOME_NamingServicePy import *
27 import SALOME_ModuleCatalog
28 from batchmode_salome import *
30 # from libSuperVision_Swig import SuperV_Swig
31 # print 'SuperV_Swig imported'
34 orb = CORBA.ORB_init([''], CORBA.ORB_ID)
35 #lcc = LifeCycleCORBA(orb)
36 while lcc._catalog == None:
37 lcc = LifeCycleCORBA(orb)
38 naming_service = SALOME_NamingServicePy_i(orb)
44 import SALOMEDS_Attributes_idl
46 # SuperVision = SuperV_Swig( len(sys.argv) , sys.argv )
47 # SuperVision.Swig = 1
48 # print 'SuperV_Swig created'
50 # SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
51 # SuperVision.Swig = 0
52 # print 'Supervision Component loaded'
54 SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
58 while modulecatalog == None:
59 modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog")
61 myBuilder = myStudy.NewBuilder()
62 father = myStudy.FindComponent("SUPERV")
64 father = myBuilder.NewComponent("SUPERV")
65 A1 = myBuilder.FindOrCreateAttribute(father, "AttributeName");
66 FName = A1._narrow(SALOMEDS.AttributeName)
67 #FName.SetValue("Supervision")
68 Comp = modulecatalog.GetComponent( "SUPERV" )
69 FName.SetValue(Comp._get_componentusername())
70 A2 = myBuilder.FindOrCreateAttribute(father, "AttributePixMap");
71 aPixmap = A2._narrow(SALOMEDS.AttributePixMap);
72 aPixmap.SetPixMap( "ICON_OBJBROWSER_Supervision" );
73 myBuilder.DefineComponentInstance(father,SuperVision)
76 def PortInputFloat(obj, x):
77 return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_double, x)))
79 def PortInputLong(obj, x):
80 return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_long, x)))
82 def PortInputObject(obj, x):
84 return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_Object, x)))
86 return obj.Input( SuperVision.AnyValue( x ) )
88 def PortInputString(obj, x):
89 return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_string, x)))
91 def InputFloat(obj, nodein_port, x):
92 return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_double, x)))
94 def InputLong(obj, nodein_port, x):
95 return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_long, x)))
97 def InputObject(obj, nodein_port, x):
99 return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_Object, x)))
101 return obj.Input(nodein_port, SuperVision.AnyValue( x ) )
103 def InputString(obj, nodein_port, x):
104 return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_string, x)))
108 dataflow = SuperVision.getGraph(ior)
110 itr = myStudy.NewChildIterator(father)
113 res,A=item.FindAttribute("AttributeName")
115 aName = A._narrow(SALOMEDS.AttributeName)
116 if aName.Value() == name :
117 res, A = myBuilder.FindOrCreateAttribute(item, "AttributeIOR")
118 anIOR = A._narrow(SALOMEDS.AttributeIOR);
119 anIOR.SetValue(dataflow.getIOR())
122 obj = myBuilder.NewObject(father)
123 A=myBuilder.FindOrCreateAttribute(obj, "AttributeName")
124 aName=A._narrow(SALOMEDS.AttributeName)
126 A=myBuilder.FindOrCreateAttribute(obj, "AttributeIOR")
127 anIOR = A._narrow(SALOMEDS.AttributeIOR)
128 anIOR.SetValue(dataflow.getIOR())
130 typestring = re.compile(r"_[^_]+_([^_]+)_.*")
132 def getRealArgs(self,args):
138 types.append(typestring.match(self).group(1))
141 types.append(type(self))
142 realargs.append(self)
146 types.append(typestring.match(a).group(1))
149 types.append(type(a))
152 return tuple(types), tuple(realargs)
154 bs_AddInput_valuedict = {
155 (InstanceType, FloatType) : PortInputFloat,
156 (InstanceType, IntType) : PortInputLong,
157 (InstanceType, StringType) : PortInputString,
158 (InstanceType, InstanceType) : PortInputObject,
159 (InstanceType, StringType, FloatType) : InputFloat,
160 (InstanceType, StringType, IntType) : InputLong,
161 (InstanceType, StringType, StringType) : InputString,
162 (InstanceType, StringType, InstanceType) : InputObject,
163 (InstanceType, StringType, ListType) : InputObject,
167 def Args( aService , aNodeName , verbose ):
168 lenin = len( aService.ServiceinParameter )
169 infos = aNodeName + 'info = "'
170 infos = infos + 'NodeName : ' + aNodeName + '\\n'
171 infos = infos + 'ServiceName : ' + aService.ServiceName + '\\n'
172 infos = infos + 'PortNames : \\n'
173 defnames = aNodeName + " = " + "'" + aNodeName + "' ; "
176 argname = aNodeName + aService.ServiceinParameter[ i ].Parametername
177 valname = aNodeName + "\\\\"
178 valname = valname + aService.ServiceinParameter[ i ].Parametername
179 defnames = defnames + argname + " = " + "'" + valname + "' ; "
180 infos = infos + str(i) + '. ' + argname + ' : Input'
181 infos = infos + str(i) + ' '
182 infos = infos + aService.ServiceinParameter[ i ].Parametername + ' '
183 infos = infos + aService.ServiceinParameter[ i ].Parametertype + '\\n'
185 lenout = len( aService.ServiceoutParameter )
188 argname = aNodeName + aService.ServiceoutParameter[ i ].Parametername
189 valname = aNodeName + "\\\\"
190 valname = valname + aService.ServiceoutParameter[ i ].Parametername
191 defnames = defnames + argname + " = " + "'" + valname + "' ; "
192 infos = infos + str(lenin+i) + '. ' + argname + ' : Output'
193 infos = infos + str(i) + ' '
194 infos = infos + aService.ServiceoutParameter[ i ].Parametername + ' '
195 infos = infos + aService.ServiceoutParameter[ i ].Parametertype + '\\n'
198 defnames = defnames + infos
200 defnames = defnames + " ; print " + aNodeName + "info"
203 def Service_Swig( aCatalogService ) :
204 aService = SuperVision.Service()
205 aService.ServiceName = aCatalogService.ServiceName
207 while i < len( aCatalogService.ServiceinParameter ) :
208 p = SuperVision.ServicesParameter( aCatalogService.ServiceinParameter[i].Parametertype , aCatalogService.ServiceinParameter[i].Parametername )
209 SuperVision.AddInParameter( aService , p )
212 while i < len( aCatalogService.ServiceoutParameter ) :
213 p = SuperVision.ServicesParameter( aCatalogService.ServiceoutParameter[i].Parametertype , aCatalogService.ServiceoutParameter[i].Parametername )
214 SuperVision.AddOutParameter( aService , p )
218 ##########################################################
220 ##########################################################
221 def __init__( self , aNode , Verbose ):
223 self.N.Verbose = Verbose
227 return self.N.Service()
230 def CreationDate( self ):
231 return self.N.CreationDate()
232 def LastUpdateDate( self ):
233 return self.N.LastUpdateDate()
235 return self.N.Version()
237 return self.N.Author()
239 return self.N.Comment()
241 def SetName( self , aNewName ):
242 return self.N.SetName( aNewName )
243 def SetAuthor( self , anAuthor ):
244 return self.N.SetAuthor( anAuthor )
245 def SetComment( self , aComment ):
246 return self.N.SetComment( aComment )
249 print "Name ",self.N.Name()
250 if self.N.IsFactory() :
251 print "ComponentName ",self.N.GetComponentName()
252 print "InterfaceName ",self.N.GetInterfaceName()
253 if self.N.IsStreamGraph() :
254 Timeout,DataStreamTrace,DeltaTime = self.G.StreamParams()
255 print "Timeout",Timeout
256 print "DataStreamTrace",DataStreamTrace
257 print "DeltaTime",DeltaTime
258 aService = self.N.Service()
259 print "Service Name ",aService.ServiceName
260 lenin = len( aService.ServiceinParameter )
261 print " ",lenin," input argument(s) :"
264 print " ",i,". ",aService.ServiceinParameter[ i ].Parametername," ",aService.ServiceinParameter[ i ].Parametertype
266 lenout = len( aService.ServiceoutParameter )
267 print " ",lenout," output argument(s) :"
270 print " ",i,". ",aService.ServiceoutParameter[ i ].Parametername," ",aService.ServiceoutParameter[ i ].Parametertype
272 aKind = self.N.Kind()
273 print "KindOfNode",aKind
274 aFirstCreation = self.N.CreationDate()
275 print "Creation Date ",aFirstCreation.Day,"-",aFirstCreation.Month,"-",aFirstCreation.Year," ",aFirstCreation.Hour,":",aFirstCreation.Minute,":",aFirstCreation.Second
276 aLastModification = self.N.LastUpdateDate()
277 print "Update Date ",aLastModification.Day,"-",aLastModification.Month,"-",aLastModification.Year," ",aLastModification.Hour,":",aLastModification.Minute,":",aLastModification.Second
278 print "Version ",self.N.Version()
279 print "Author ",self.N.Author()
280 if self.N.IsFactory() :
281 print "Container ",self.N.GetContainer()
282 print "Comment ",self.N.Comment()
283 print "Coords ",self.N.X()," ",self.N.Y()
284 def Port( self , aPortName ):
285 aPort = self.N.Port( aPortName )
287 myPort = Port( aPort , self.N.Verbose )
290 print "Error while creating the Port : ",aPortName
292 def Input( self , *args ):
293 types, realargs = getRealArgs(self.N,args)
294 fn = bs_AddInput_valuedict[types]
295 anInput = apply( fn, realargs)
297 myInput = Port( anInput , self.N.Verbose )
299 ErrMsg = "Failed to create the Input"
303 # def BusPort( self , InOutParameterName , InOutParameterType ):
304 # sts,inp,outp = self.N.BusPort( InOutParameterName ,
305 # InOutParameterType )
306 # inp = Port( inp , self.N.Verbose )
307 # outp = Port( outp , self.N.Verbose )
308 # return sts,inp,outp
309 # def BusPorts( self , InputParameterName , InputParameterType ,
310 # OutputParameterName , OutputParameterType ):
311 # sts,inp,outp = self.N.BusPorts( InputParameterName ,
312 # InputParameterType ,
313 # OutputParameterName ,
314 # OutputParameterType )
315 # inp = Port( inp , self.N.Verbose )
316 # outp = Port( outp , self.N.Verbose )
317 # return sts,inp,outp
318 def InStreamPort( self , aParameterName , aParameterType , aDependency ):
319 aPort = self.N.InStreamPort( aParameterName , aParameterType , aDependency )
321 myPort = StreamPort( aPort , self.N.Verbose )
324 print "Error while creating the Port : ",aParameterName
326 def OutStreamPort( self , aParameterName , aParameterType , aDependency ):
327 aPort = self.N.OutStreamPort( aParameterName , aParameterType , aDependency )
329 myPort = StreamPort( aPort , self.N.Verbose )
332 print "Error while creating the Port : ",aParameterName
334 def GetInPort( self , aParameterName ):
335 aPort = self.N.GetInPort( aParameterName )
337 myPort = Port( aPort , self.N.Verbose )
340 print "Error while creating the Port : ",aParameterName
342 def GetOutPort( self , aParameterName ):
343 aPort = self.N.GetOutPort( aParameterName )
345 myPort = Port( aPort , self.N.Verbose )
348 print "Error while creating the Port : ",aParameterName
350 def GetInStreamPort( self , aParameterName ):
351 aPort = self.N.GetInStreamPort( aParameterName )
353 myPort = StreamPort( aPort , self.N.Verbose )
356 print "Error while creating the Port : ",aParameterName
358 def GetOutStreamPort( self , aParameterName ):
359 aPort = self.N.GetOutStreamPort( aParameterName )
361 myPort = StreamPort( aPort , self.N.Verbose )
364 print "Error while creating the Port : ",aParameterName
367 ports = self.N.Ports()
369 while i < len( ports ) :
370 ports[ i ] = Port( ports[i] , self.N.Verbose )
373 def StreamPorts( self ):
374 ports = self.N.StreamPorts()
376 while i < len( ports ) :
377 ports[ i ] = StreamPort( ports[i] , self.N.Verbose )
380 def AllPorts( self ):
381 allports = self.N.Ports()
382 lenports = len( allports )
385 allports[ i ] = Port( allports[i] , self.N.Verbose )
387 ports = self.N.StreamPorts()
389 while i < len( ports ) :
390 allports.append( StreamPort( ports[i] , self.N.Verbose ) )
393 def ListPorts( self , *args ):
394 if len( args ) == 0 :
395 aName = self.N.Name()
398 ports = self.AllPorts()
402 portsname = ports[ 0 ].Name()
403 bs = portsname.find('\\')
405 portsname1,portsname2 = portsname.split('\\')
406 portsname = portsname1 + portsname2
407 if ports[ 0 ].IsInput():
408 listofports = 'I' + aName + portsname
410 listofports = 'O' + aName + portsname
412 while i < len( ports ) :
413 portsname = ports[ i ].Name()
414 bs = portsname.find('\\')
416 portsname1,portsname2 = portsname.split('\\')
417 portsname = portsname1 + portsname2
418 if ports[ i ].IsInput():
419 listofports = listofports + ',' + 'I' + aName + portsname
421 listofports = listofports + ',' + 'O' + aName + portsname
424 if len( ports ) == 1 :
425 listofports = "[" + listofports + "] = " + aName + ".AllPorts()"
427 listofports = listofports + " = " + aName + ".AllPorts()"
429 def PrintPorts( self ):
430 ports = self.AllPorts()
432 while i < len( ports ) :
434 if ports[ i ].IsInput() :
436 if ( ports[ i ].IsDataStream() ) & ( self.N.IsStreamGraph() == 0 ) :
437 if ports[ i ].IsInput() :
438 sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation = ports[ i ].Params()
439 print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString(),ports[ i ].Dependency(),aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation
441 numberofvalues = ports[ i ].NumberOfValues()
442 print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString(),ports[ i ].Dependency(),'NumberOfValues',numberofvalues
444 print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString()
447 links = self.N.Links()
449 while i < len( links ) :
450 links[ i ] = Link( links[i] , self.N.Verbose )
453 def StreamLinks( self ) :
454 links = self.N.StreamLinks()
456 while i < len( links ) :
457 links[ i ] = StreamLink( links[i] , self.N.Verbose )
460 def AllLinks( self ) :
461 alllinks = self.N.Links()
462 lenlinks = len( alllinks )
465 alllinks[ i ] = Link( alllinks[i] , self.N.Verbose )
467 links = self.N.StreamLinks()
469 while i < len( links ) :
470 alllinks.append( StreamLink( links[i] , self.N.Verbose ) )
473 def ListLinks( self , *args ):
474 links = self.AllLinks()
476 listoflinks = 'L' + links[ 0 ].OutPort().Node().Name()
477 listoflinks = listoflinks + links[ 0 ].OutPort().Name()
478 listoflinks = listoflinks + links[ 0 ].InPort().Node().Name()
479 listoflinks = listoflinks + links[ 0 ].InPort().Name()
481 while i < len( links ) :
482 listoflinks = listoflinks + ',' + 'L' + links[ i ].OutPort().Node().Name()
483 listoflinks = listoflinks + links[ i ].OutPort().Name()
484 listoflinks = listoflinks + links[ i ].InPort().Node().Name()
485 listoflinks = listoflinks + links[ i ].InPort().Name()
488 if len( args ) == 0 :
489 aName = self.N.Name()
492 if len( links ) == 1 :
493 listoflinks = "[" + listoflinks + "] = " + aName + ".AllLinks()"
495 listoflinks = listoflinks + " = " + aName + ".AllLinks()"
497 def PrintLinks( self ):
498 links = self.AllLinks()
500 while i < len( links ) :
503 def IsStreamGraph( self ):
504 return self.N.IsStreamGraph()
506 return self.N.IsGraph()
508 return self.N.IsMacro()
509 def IsFlowMacro( self ):
510 return self.N.IsFlowMacro()
511 def IsStreamMacro( self ):
512 return self.N.IsStreamMacro()
513 def IsComputing( self ):
514 return self.N.IsComputing()
515 def IsFactory( self ):
516 return self.N.IsFactory()
517 def IsInLine( self ):
518 return self.N.IsInLine()
520 return self.N.IsGOTO()
522 return self.N.IsLoop()
523 def IsEndLoop( self ):
524 return self.N.IsEndLoop()
525 def IsSwitch( self ):
526 return self.N.IsSwitch()
527 def IsEndSwitch( self ):
528 return self.N.IsEndSwitch()
529 def GraphLevel( self ) :
530 return self.N.GraphLevel()
531 def SubGraph( self ):
532 return self.N.SubGraph()
533 def SubStreamGraph( self ):
534 return self.N.SubStreamGraph()
536 return self.N.Thread()
537 def IsWaiting( self ):
538 return self.N.IsWaiting()
539 def IsRunning( self ):
540 return self.N.IsRunning()
542 return self.N.IsDone()
543 def IsSuspended( self ):
544 return self.N.IsSuspended()
546 return self.N.State()
548 return self.N.Control()
549 def ControlClear( self ):
550 return self.N.ControlClear()
552 return self.N.ReadyW()
553 def RunningW( self ):
554 return self.N.RunningW()
556 return self.N.DoneW()
557 def SuspendedW( self ):
558 return self.N.SuspendedW()
560 # return self.N.ReRun()
561 #def ReStart( self ):
562 # return self.N.ReStart()
563 #def ReRunAt( self , aNodeName ):
564 # return self.N.ReRunAt( aNodeName )
565 #def ReStartAt( self , aNodeName ):
566 # return self.N.ReStartAt( aNodeName )
571 def KillDone( self ):
572 return self.N.KillDone()
574 return self.N.Suspend()
575 def SuspendDone( self ):
576 return self.N.SuspendDone()
578 return self.N.Resume()
581 def Coords( self , X , Y ):
582 return self.N.Coords( X , Y )
590 return self.N.CpuUsed()
592 ##########################################################
594 ##########################################################
595 def __init__( self , aNode , Verbose ):
597 self.N.Verbose = Verbose
598 def GetComponentName( self ):
599 return self.N.GetComponentName()
600 def GetInterfaceName( self ):
601 return self.N._get_interfaceName()
602 def GetContainer( self ):
603 return self.N.GetContainer()
604 def SetComponentName( self , aComponentName ):
605 return self.N.SetComponentName( aComponentName )
606 def SetInterfaceName( self , anInterfaceName ):
607 return self.N.SetInterfaceName( anInterfaceName )
608 def SetContainer( self , aComputer ):
609 return self.N.SetContainer( aComputer )
611 return self.N.isCimpl
613 ##########################################################
615 ##########################################################
616 def __init__( self , aNode , Verbose ):
618 self.N.Verbose = Verbose
619 def Edit( self , FuncName , PyFunc ) :
622 suf = str(random.randrange(1,10000))
623 file = '/tmp/' + FuncName + '_' + suf + '.py'
627 fd = os.open( file , os.O_CREAT | os.O_WRONLY | os.O_TRUNC )
631 while ( i < len( PyFunc ) ) :
632 print i,'/',len( PyFunc ),PyFunc[ i ]
633 os.write( fd , PyFunc[ i ] + '\n' )
636 edit = '${EDITOR} ' + file
638 fd = os.open( file , os.O_RDONLY )
639 line = os.read( fd , 132 )
643 line = os.read( fd , 132 )
645 PyFunc = res.splitlines()
647 while i < len( PyFunc ) :
651 print "Open of",file,"failed."
653 def SetPyFunction( self , FuncName , aPyFunction ):
654 return self.N.SetPyFunction( FuncName , aPyFunction )
655 def PyFunction( self ):
656 return self.N.PyFunction()
657 def PyFuncName( self ):
658 return self.N.PyFuncName()
659 def InPort( self , aParameterName , aParameterType ):
660 aPort = self.N.InPort( aParameterName ,
663 myPort = Port( aPort , self.N.Verbose )
666 print "Error while creating the Port : ",aParameterName
668 def OutPort( self , aParameterName , aParameterType ):
669 aPort = self.N.OutPort( aParameterName ,
672 myPort = Port( aPort , self.N.Verbose )
675 print "Error while creating the Port : ",aParameterName
678 PyFunc = self.N.PyFunction()
679 PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
680 self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
682 ##########################################################
684 ##########################################################
685 def __init__( self , aNode , Verbose ):
687 self.N.Verbose = Verbose
688 def SetCoupled( self , anInLineNode ):
690 node = self.N.SetCoupled( anInLineNode )
695 node = self.N.Coupled()
698 node = INode( node , self.N.Verbose )
700 node = LNode( node , self.N.Verbose )
701 elif node.IsEndLoop() :
702 node = ELNode( node , self.N.Verbose )
703 elif node.IsSwitch() :
704 node = SNode( node , self.N.Verbose )
705 elif node.IsEndSwitch() :
706 node = ESNode( node , self.N.Verbose )
709 ##########################################################
711 ##########################################################
712 def __init__( self , aNode , Verbose ):
714 self.N.Verbose = Verbose
715 def SetPyInit( self , InitName , aPyFunction ):
716 return self.N.SetPyInit( InitName , aPyFunction )
718 return self.N.PyInit()
719 def PyInitName( self ) :
720 return self.N.PyInitName()
722 PyFunc = self.N.PyFunction()
723 PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
724 self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
725 def SetPyMore( self , MoreName , aPyFunction ):
726 return self.N.SetPyMore( MoreName , aPyFunction )
728 return self.N.PyMore()
729 def PyMoreName( self ) :
730 return self.N.PyMoreName()
732 PyMore = self.N.PyMore()
733 PyMore = self.Edit( self.N.PyMoreName() , PyMore )
734 self.N.SetPyMore( self.N.PyMoreName() , PyMore )
735 def SetPyNext( self , NextName , aPyFunction ):
736 return self.N.SetPyNext( NextName , aPyFunction )
738 return self.N.PyNext()
739 def PyNextName( self ) :
740 return self.N.PyNextName()
742 PyNext = self.N.PyNext()
743 PyNext = self.Edit( self.N.PyNextName() , PyNext )
744 self.N.SetPyNext( self.N.PyNextName() , PyNext )
746 ##########################################################
748 ##########################################################
749 def __init__( self , aNode , Verbose ):
751 self.N.Verbose = Verbose
753 ##########################################################
755 ##########################################################
756 def __init__( self , aNode , Verbose ):
758 self.N.Verbose = Verbose
760 ##########################################################
762 ##########################################################
763 def __init__( self , aNode , Verbose ):
765 self.N.Verbose = Verbose
767 ##########################################################
768 #class ServicesParameter_Swig :
769 ##########################################################
770 # def __init__( self , aServicesParameter ):
771 # self.Parametertype = aServicesParameter.Parametertype
772 # self.Parametername = aServicesParameter.Parametername
774 ##########################################################
776 ##########################################################
777 def __init__( self , aName ):
779 graph = SuperVision.Graph( aName )
782 graph = aName.G.Copy()
786 if graph.IsStreamGraph() :
787 aGraph = graph.ToStreamGraph()
789 graph = StreamGraph( aGraph )
791 print "Graph creation failed"
797 print "Graph creation failed"
798 def CNode( self , *args ):
799 if len( args ) == 1 :
802 aComponent = args[ 0 ]
803 anInterface = args[ 1 ]
805 NodeComponent = modulecatalog.GetComponent( aComponent )
806 aService = NodeComponent.GetService( anInterface , aService )
807 aNode = self.G.CNode( aService )
809 myNode = CNode( aNode , self.G.Verbose )
811 ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
815 def Node( self , aComponent , anInterface , aService ):
816 #if SuperVision.Swig :
817 #aService = Service_Swig( aService )
818 return self.FNode( aComponent , anInterface , aService )
819 def FNodeImpl( self , aComponent , anInterface , aService, isCimpl ):
820 NodeComponent = modulecatalog.GetComponent( aComponent )
821 aService = NodeComponent.GetService( anInterface , aService )
822 aNode = self.G.FNode( aComponent , anInterface , aService, isCimpl )
824 aNode.isCimpl = isCimpl
825 myNode = FNode( aNode , self.G.Verbose )
827 ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
831 def FNode( self , aComponent , anInterface , aService ):
832 # create node with C++ implementation type by default
833 NodeComponent = modulecatalog.GetComponent( aComponent )
834 aService = NodeComponent.GetService( anInterface , aService )
835 #if SuperVision.Swig :
836 #aService = Service_Swig( aService )
837 aNode = self.G.FNode( aComponent , anInterface , aService, 1 )
840 myNode = FNode( aNode , self.G.Verbose )
842 ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
846 def INode( self , FuncName , aPythonFunction ):
847 aNode = self.G.INode( FuncName , aPythonFunction )
849 myNode = INode( aNode , self.G.Verbose )
851 ErrMsg = "Failed to create a Node"
855 def GNode( self , FuncName , aPythonFunction , anINode ):
856 aNode = self.G.GNode( FuncName , aPythonFunction , anINode )
858 myNode = GNode( aNode , self.G.Verbose )
860 ErrMsg = "Failed to create a Node"
864 def LNode( self , InitName , InitFunction , MoreName , MoreFunction , NextName , NextFunction ):
865 aNode,anEndOfLoop = self.G.LNode( InitName , InitFunction , MoreName , MoreFunction , NextName , NextFunction )
867 myNode = LNode( aNode , self.G.Verbose )
868 myEndOfLoop = INode( anEndOfLoop , self.G.Verbose )
869 return myNode,myEndOfLoop
870 ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
874 def SNode( self , FuncName , aPythonFunction ):
875 aNode,anEndOfSwitch = self.G.SNode( FuncName , aPythonFunction )
877 myNode = SNode( aNode , self.G.Verbose )
878 myEndOfSwitch = INode( anEndOfSwitch , self.G.Verbose )
879 return myNode,myEndOfSwitch
880 ErrMsg = "Failed to create a Node"
884 # def LoopNode( self , aComponent , anInterface , aService , aNodeName ):
885 # NodeComponent = modulecatalog.GetComponent( aComponent )
886 # aService = NodeComponent.GetService( anInterface , aService )
887 # aNode,anEndNode = self.G.LoopNode( aComponent , anInterface , aService , aNodeName )
889 # myEndNode = anEndNode
891 # myNode = Node( aNode , self.G.Verbose )
892 # if anEndNode != None :
893 # myEndNode = Node( anEndNode , self.G.Verbose )
894 # if ( aNode != None ) & ( anEndNode != None ) :
895 # return myNode,myEndNode
896 # ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
897 # if self.G.Verbose :
899 # return aNode,anEndNode
900 # def SwitchNode( self , aComponent , anInterface , aService , aNodeName ):
901 # NodeComponent = modulecatalog.GetComponent( aComponent )
902 # aService = NodeComponent.GetService( anInterface , aService )
903 # aNode,anEndNode = self.G.SwitchNode( aComponent , anInterface , aService , aNodeName )
905 # myEndNode = anEndNode
907 # myNode = Node( aNode , self.G.Verbose )
908 # if anEndNode != None :
909 # myEndNode = Node( anEndNode , self.G.Verbose )
910 # if ( aNode != None ) & ( anEndNode != None ) :
911 # return myNode,myEndNode
912 # ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
913 # if self.G.Verbose :
915 # return aNode,anEndNode
916 # def LNode( self , aNodeName ):
917 # aNode = self.G.LNode( aNodeName )
919 # myNode = Node( aNode , self.G.Verbose )
921 # ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
922 # if self.G.Verbose :
925 # def LService( self , aComponent , anInterface , aService ):
926 # NodeComponent = modulecatalog.GetComponent( aComponent )
927 # aService = NodeComponent.GetService( anInterface , aService )
928 # aNode = self.G.LService( aComponent , anInterface , aService )
930 # myNode = Node( aNode , self.G.Verbose )
932 # ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
933 # if self.G.Verbose :
936 # def CNode( self , aNodeName ):
937 # aNode = self.G.CNode( aNodeName )
939 # myNode = Node( aNode , self.G.Verbose )
941 # ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
942 # if self.G.Verbose :
945 # def CService( self , aComponent , anInterface , aService ):
946 # NodeComponent = modulecatalog.GetComponent( aComponent )
947 # aService = NodeComponent.GetService( anInterface , aService )
948 # aNode = self.G.CService( aComponent , anInterface , aService )
950 # myNode = Node( aNode , self.G.Verbose )
952 # ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
953 # if self.G.Verbose :
956 def MNode( self , aGraphXml ):
957 aMNode = self.G.MNode( aGraphXml )
959 myMNode = MNode( aMNode , self.G.Verbose )
961 ErrMsg = "Failed to create a MNode"
965 def GraphMNode( self , aGraph ):
966 aGraphMNode = self.G.GraphMNode( aGraph.G )
967 if aGraphMNode != None :
968 myMNode = MNode( aGraphMNode , self.G.Verbose )
970 ErrMsg = "Failed to create a MNode"
974 def FlowObjRef( self ) :
975 aGraph = self.G.FlowObjRef()
977 myGraph = Graph( aGraph )
980 def StreamObjRef( self ) :
981 aGraph = self.G.StreamObjRef()
983 myGraph = StreamGraph( aGraph )
986 def PrintService( self , aComponent , anInterface , aService ):
987 NodeComponent = modulecatalog.GetComponent( aComponent )
988 aService = NodeComponent.GetService( anInterface , aService )
989 print "ServiceName ",aService.ServiceName," :"
990 lenin = len( aService.ServiceinParameter )
991 print " ",lenin," input argument(s) :"
994 print " ",i,". ",aService.ServiceinParameter[ i ].Parametername," ",aService.ServiceinParameter[ i ].Parametertype
996 lenout = len( aService.ServiceoutParameter )
997 print " ",lenout," output argument(s) :"
1000 print " ",i,". ",aService.ServiceoutParameter[ i ].Parametername," ",aService.ServiceoutParameter[ i ].Parametertype
1002 def Link( self , aFromNodePort , aToNodePort ):
1003 aLink = self.G.Link( aFromNodePort.P , aToNodePort.P )
1005 myLink = Link( aLink , self.G.Verbose )
1007 ErrMsg = "Failed to create a Link from " + aFromNodePort.Node().Name() + "(" + aFromNodePort.Name() + ") to " + aToNodePort.Node().Name() + "(" + aToNodePort.Name() + ")"
1011 def Import( self , anXmlFileName ):
1012 return self.G.Import( anXmlFileName )
1013 def Export( self , anXmlFileName ):
1014 return self.G.Export( anXmlFileName )
1015 def IsReadOnly( self ) :
1016 return self.G.IsReadOnly()
1017 def ComponentRef( self , aFactoryServer , aComponent ) :
1018 return self.G.ComponentRef( aFactoryServer , aComponent )
1019 def IsValid( self ):
1020 return self.G.IsValid()
1021 def IsExecutable( self ):
1022 return self.G.IsExecutable()
1023 def IsEditing( self ):
1024 return self.G.IsEditing()
1025 def IsExecuting( self ):
1026 return self.G.IsExecuting()
1027 def LevelMax( self ):
1028 return self.G.LevelMax()
1029 def ThreadsMax( self ):
1030 return self.G.ThreadsMax()
1031 def SubGraphsNumber( self ):
1032 return self.G.SubGraphsNumber()
1033 def LevelNodes( self , aLevel ):
1034 nodes = self.G.LevelNodes( aLevel )
1035 return self.nodesTuple( nodes )
1036 def Run( self , *args ):
1038 aService = self.Service()
1042 print aService.ServiceinParameter[ i ].Parametername," = ",args[i]
1043 self.Input( aService.ServiceinParameter[ i ].Parametername , args[i] )
1047 def Start( self , *args ):
1049 aService = self.Service()
1053 print aService.ServiceinParameter[ i ].Parametername," = ",args[i]
1054 self.Input( aService.ServiceinParameter[ i ].Parametername , args[i] )
1057 return self.G.Start()
1059 sts,aNode,anEvent,aState = self.G.Event()
1061 return sts,aNode,anEvent,aState
1062 def EventNoW( self ):
1063 sts,aNode,anEvent,aState = self.G.EventNoW()
1065 return sts,aNode,anEvent,aState
1067 sts,aNode,anEvent,aState = self.G.EventW()
1069 return sts,aNode,anEvent,aState
1072 sts,aNode,anEvent,aState = self.G.EventW()
1074 print sts,aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState
1076 def Threads( self ):
1077 return self.G.Threads()
1078 def SuspendedThreads( self ):
1079 return self.G.SuspendedThreads()
1080 def LastLevelDone( self ):
1081 return self.G.LastLevelDone()
1082 def Verbose( self , verbose ):
1083 preverbose = self.G.Verbose
1084 self.G.Verbose = verbose
1087 nodes = self.G.Nodes()
1088 return self.nodesTuple( nodes )
1089 def nodesTuple( self , nodes ) :
1090 n = len( nodes.CNodes )
1095 pynodes.append( CNode( nodes.CNodes[i] , self.G.Verbose ) )
1098 n = len( nodes.FNodes )
1101 pynodes.append( FNode( nodes.FNodes[i] , self.G.Verbose ) )
1104 n = len( nodes.INodes )
1107 pynodes.append( INode( nodes.INodes[i] , self.G.Verbose ) )
1110 n = len( nodes.GNodes )
1113 pynodes.append( GNode( nodes.GNodes[i] , self.G.Verbose ) )
1116 n = len( nodes.LNodes )
1119 pynodes.append( LNode( nodes.LNodes[i] , self.G.Verbose ) )
1122 n = len( nodes.ELNodes )
1125 pynodes.append( GNode( nodes.ELNodes[i] , self.G.Verbose ) )
1128 n = len( nodes.SNodes )
1131 pynodes.append( SNode( nodes.SNodes[i] , self.G.Verbose ) )
1134 n = len( nodes.ESNodes )
1137 pynodes.append( GNode( nodes.ESNodes[i] , self.G.Verbose ) )
1140 n = len( nodes.Graphs )
1143 pynodes.append( MNode( nodes.Graphs[i] , self.G.Verbose ) )
1147 def ListNodes( self , *args ):
1148 nodes = self.Nodes()
1151 listofnodes = nodes[ 0 ].Name()
1153 while i < len( nodes ) :
1154 listofnodes = listofnodes + ',' + nodes[ i ].Name()
1157 if len( args ) == 0 :
1158 aName = self.N.Name()
1161 if len( nodes ) == 1 :
1162 listofnodes = "[" + listofnodes + "] = " + aName + ".Nodes()"
1164 listofnodes = listofnodes + " = " + aName + ".Nodes()"
1166 def PrintNodes( self ):
1167 nodes = self.Nodes()
1174 def PrintThreads( self ):
1175 nodes = self.Nodes()
1177 while i < len( nodes ) :
1178 print nodes[i].Name(),nodes[i].Thread(),nodes[i].State(),nodes[i].Control(),nodes[i]
1181 links = self.G.GLinks()
1183 linkslen = len( links )
1184 #print 'GLinks ',linkslen,'Links'
1185 while i < linkslen :
1186 links[ i ] = Link( links[i] , self.G.Verbose )
1188 def GStreamLinks( self ):
1189 streamlinks = self.G.GStreamLinks()
1191 #print 'GStreamLinks ',len( streamlinks ),'StreamLinks'
1192 while i < len( streamlinks ) :
1193 streamlinks[ i ] = StreamLink( streamlinks[i] , self.G.Verbose )
1196 def GAllLinks( self ) :
1197 alllinks = self.G.GLinks()
1198 lenlinks = len( alllinks )
1200 while i < lenlinks :
1201 alllinks[ i ] = Link( alllinks[i] , self.N.Verbose )
1203 links = self.G.StreamLinks()
1205 while j < len(links) :
1206 alllinks.append( StreamLink( links[j] , self.N.Verbose ) )
1210 def ListLinks( self , *args ):
1211 links = self.GAllLinks()
1213 listoflinks = 'L' + links[ 0 ].OutPort().Node().Name()
1214 listoflinks = listoflinks + links[ 0 ].OutPort().Name()
1215 listoflinks = listoflinks + links[ 0 ].InPort().Node().Name()
1216 listoflinks = listoflinks + links[ 0 ].InPort().Name()
1218 while i < len( links ) :
1219 listoflinks = listoflinks + ',' + 'L' + links[ i ].OutPort().Node().Name()
1220 listoflinks = listoflinks + links[ i ].OutPort().Name()
1221 listoflinks = listoflinks + links[ i ].InPort().Node().Name()
1222 listoflinks = listoflinks + links[ i ].InPort().Name()
1225 if len( args ) == 0 :
1226 aName = self.N.Name()
1229 if len( links ) == 1 :
1230 listoflinks = "[" + listoflinks + "] = " + aName + ".GAllLinks()"
1232 listoflinks = listoflinks + " = " + aName + ".GAllLinks()"
1234 def PrintLinks( self ):
1235 links = self.GAllLinks()
1237 while i < len( links ) :
1240 def SubGraphsNodes( self , ):
1241 graphs = self.G.SubGraphsNodes()
1244 while i < len( graphs ) :
1245 outgraphs[ i ] = Graph( graphs[i].Name() , self.G.Verbose )
1246 outgraphs[ i ].Merge( graphs[i] )
1250 aCopy = self.G.Copy()
1252 myCopy = Graph( aCopy )
1254 ErrMsg = "Failed to get a Copy of " + self.G.Name()
1258 def ToStreamGraph( self ):
1259 aGraph = self.G.ToStreamGraph()
1261 return StreamGraph( aGraph )
1263 def SubGraphsNodes( self , aSubGraphsNumber ):
1264 nodes = self.G.SubGraphsNodes( aSubGraphsNumber )
1265 return self.nodesTuple( nodes )
1266 def Merge( self , aGraph ):
1267 return self.G.Merge( aGraph.G )
1268 def Destroy( self ):
1271 ##########################################################
1272 class GraphE(Graph):
1273 ##########################################################
1274 def __init__( self , aName ):
1276 graph = SuperVision.GraphE( aName )
1279 graph = aName.G.Copy()
1283 if graph.IsStreamGraph() :
1284 aGraph = graph.ToStreamGraph()
1286 graph = StreamGraphE( aGraph )
1288 print "Graph creation failed"
1294 print "Graph creation failed"
1295 def ToStreamGraph( self ):
1296 aGraph = self.G.ToStreamGraph()
1298 return StreamGraphE( aGraph )
1301 ##########################################################
1303 ##########################################################
1304 def __init__( self , aMNode , Verbose ):
1306 self.G.Verbose = Verbose
1308 self.N.Verbose = Verbose
1310 ##########################################################
1311 class StreamGraph(Graph):
1312 ##########################################################
1313 def __init__( self , aName ):
1315 graph = SuperVision.StreamGraph( aName )
1318 graph = aName.G.StreamCopy()
1327 print "StreamGraph creation failed"
1328 def StreamCopy( self ):
1329 aCopy = self.G.StreamCopy()
1331 myCopy = StreamGraph( aCopy )
1333 ErrMsg = "Failed to get a Copy of " + self.G.Name()
1337 def StreamLink( self , anOutStreamPort , anInStreamPort ) :
1338 aStreamLink = self.G.StreamLink( anOutStreamPort.P , anInStreamPort.P )
1339 if aStreamLink!= None:
1340 myStreamLink = StreamLink( aStreamLink , self.G.Verbose )
1342 ErrMsg = "Failed to make a StreamLink in " + self.G.Name()
1346 def SetStreamParams( self , Timeout , DataStreamTrace , DeltaTime ):
1347 return self.G.SetStreamParams( Timeout , DataStreamTrace , DeltaTime )
1348 def StreamParams( self ):
1349 Timeout,DataStreamTrace,DeltaTime = self.G.StreamParams()
1350 return Timeout,DataStreamTrace,DeltaTime
1351 def ToFlowGraph( self ):
1352 return self.G.ToFlowGraph()
1353 def SubStreamGraphsNumber( self ):
1354 return self.G.SubStreamGraphsNumber()
1355 def SubStreamGraphsNodes( self , aSubStreamGraphsNumber ):
1356 nodes = self.G.SubStreamGraphsNodes( aSubStreamGraphsNumber )
1357 return self.nodesTuple( nodes )
1358 def StreamMerge( self , aStreamGraph ):
1359 return self.G.StreamMerge( aStreamGraph.G )
1361 ##########################################################
1362 class StreamGraphE(StreamGraph):
1363 ##########################################################
1364 def __init__( self , aName ):
1365 graph = SuperVision.StreamGraphE( aName )
1371 ##########################################################
1373 ##########################################################
1374 def __init__( self , aValue , Verbose ):
1376 self.V.Verbose = Verbose
1377 def ToString( self ):
1378 return self.V.ToString()
1380 return self.V.ToAny()
1381 def Destroy( self ):
1384 ##########################################################
1386 ##########################################################
1387 def __init__( self , aPort , Verbose ):
1389 self.P.Verbose = Verbose
1390 def Input( self , *args ):
1391 types, realargs = getRealArgs(self.P,args)
1392 fn = bs_AddInput_valuedict[types]
1393 anInput = apply( fn, realargs)
1396 aNode = self.P.Node()
1398 if aNode.IsComputing() :
1399 myNode = CNode( aNode , self.P.Verbose )
1400 elif aNode.IsFactory() :
1401 myNode = FNode( aNode , self.P.Verbose )
1402 elif aNode.IsInLine() :
1403 myNode = INode( aNode , self.P.Verbose )
1404 elif aNode.IsGOTO() :
1405 myNode = GNode( aNode , self.P.Verbose )
1406 elif aNode.IsLoop() :
1407 myNode = LNode( aNode , self.P.Verbose )
1408 elif aNode.IsEndLoop() :
1409 myNode = ELNode( aNode , self.P.Verbose )
1410 elif aNode.IsSwitch() :
1411 myNode = SNode( aNode , self.P.Verbose )
1412 elif aNode.IsEndSwitch() :
1413 myNode = ESNode( aNode , self.P.Verbose )
1419 return self.P.Name()
1421 return self.P.Type()
1423 aLink = self.P.Link()
1425 myLink = Link( aLink , self.P.Verbose )
1427 ErrMsg = "Failed to get a Link to " + self.P.Node().Name() + "(" + self.P.Name() + ")"
1432 links = self.P.Links()
1434 while i < len( links ) :
1435 links[ i ] = Link( links[i] , self.P.Verbose )
1438 def PrintLinks( self ):
1439 links = self.P.Links()
1441 while i < len( links ) :
1442 Link( links[ i ] , self.P.Verbose ).Print()
1444 def IsInput( self ):
1445 return self.P.IsInput()
1446 def IsLinked( self ):
1447 return self.P.IsLinked()
1448 def HasInput( self ):
1449 return self.P.HasInput()
1451 return self.P.Kind()
1452 def IsParam( self ):
1453 return self.P.IsParam()
1455 return self.P.IsGate()
1457 return self.P.IsLoop()
1458 def IsInLine( self ):
1459 return self.P.IsInLine()
1460 def IsSwitch( self ):
1461 return self.P.IsSwitch()
1462 def IsEndSwitch( self ):
1463 return self.P.IsEndSwitch()
1464 def IsDataStream( self ):
1465 return self.P.IsDataStream()
1466 # def IsBus( self ):
1467 # return self.P.IsBus()
1469 return self.P.Done()
1471 return self.P.State()
1472 def ToString( self ):
1473 return self.P.ToString()
1475 return self.P.ToAny()
1477 if self.P.IsInput() :
1478 if self.P.IsLinked() :
1479 print "In",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString(),' from ',self.Link().OutPort().Print()
1481 print "In",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString()
1483 print "Out",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString()
1484 def Destroy( self ):
1487 ##########################################################
1488 class StreamPort(Port):
1489 ##########################################################
1490 def __init__( self , aPort , Verbose ):
1492 self.P.Verbose = Verbose
1493 def StreamLink( self ) :
1494 return self.P.StreamLink()
1495 def Dependency( self ) :
1496 return self.P.Dependency()
1497 def SetDependency( self , aDependency ) :
1498 return self.P.SetDependency( aDependency )
1499 def Params( self ) :
1500 sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation = self.P.Params()
1501 return sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation
1502 def SetParams( self , aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) :
1503 return self.P.SetParams( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation )
1504 def NumberOfValues( self ) :
1505 return self.P.NumberOfValues()
1506 def SetNumberOfValues( self , aNumberOfValues ) :
1507 return self.P.SetNumberOfValues( aNumberOfValues )
1509 ##########################################################
1511 ##########################################################
1512 def __init__( self , aLink , Verbose ):
1514 self.L.Verbose = Verbose
1515 def OutPort( self ):
1516 aPort = self.L.OutPort()
1518 myPort = Port( aPort , self.L.Verbose )
1521 print "Error while getting the Port : "
1524 aPort = self.L.InPort()
1526 myPort = Port( aPort , self.L.Verbose )
1529 print "Error while getting the Port : "
1532 anOutPort = self.L.OutPort()
1533 anOutPortName = anOutPort.Name()
1534 anOutPortKind = anOutPort.Kind()
1535 anOutPortValue = anOutPort.ToString()
1536 anOutNode = anOutPort.Node()
1537 anOutNodeName = anOutNode.Name()
1538 anInPort = self.L.InPort()
1539 anInPortName = anInPort.Name()
1540 anInPortKind = anInPort.Kind()
1541 anInNode = anInPort.Node()
1542 anInNodeName = anInNode.Name()
1543 print anOutNodeName,'(',anOutPortName,' ',anOutPortKind,') =',anOutPortValue,' --> ',anInNodeName,'(',anInPortName,')',' ',anInPortKind
1544 def CoordsSize( self ):
1545 return self.L.CoordsSize()
1546 def AddCoord( self , index , X , Y ):
1547 return self.L.AddCoord( index , X , Y )
1548 def ChangeCoord( self , index , X , Y ):
1549 return self.L.ChangeCoord( index , X , Y )
1550 def RemoveCoord( self , index ):
1551 return self.L.RemoveCoord( index )
1552 def Coords( self , index ):
1553 return self.L.Coords( index )
1554 def destroy( self ):
1556 def IsEqual( self, OtherLink ):
1557 return self.L.IsEqual( OtherLink.L )
1559 ##########################################################
1560 class StreamLink(Link):
1561 ##########################################################
1562 def __init__( self , aLink , Verbose ):
1564 self.L.Verbose = Verbose
1565 def OutStreamPort( self ):
1566 aPort = self.L.OutStreamPort()
1568 myPort = StreamPort( aPort , self.L.Verbose )
1571 print "Error while getting the Port : "
1573 def InStreamPort( self ):
1574 aPort = self.L.InStreamPort()
1576 myPort = StreamPort( aPort , self.L.Verbose )
1579 print "Error while getting the Port : "