Beremiz_service.py
changeset 1458 5c87045af670
parent 1453 f31353cac197
child 1571 486f94a8032c
equal deleted inserted replaced
1457:ff7cfce737ca 1458:5c87045af670
   352 
   352 
   353 class Server():
   353 class Server():
   354     def __init__(self, servicename, ip_addr, port,
   354     def __init__(self, servicename, ip_addr, port,
   355                  workdir, argv, autostart=False,
   355                  workdir, argv, autostart=False,
   356                  statuschange=None, evaluator=default_evaluator,
   356                  statuschange=None, evaluator=default_evaluator,
   357                  website=None):
   357                  pyruntimevars=None):
   358         self.continueloop = True
   358         self.continueloop = True
   359         self.daemon = None
   359         self.daemon = None
   360         self.servicename = servicename
   360         self.servicename = servicename
   361         self.ip_addr = ip_addr
   361         self.ip_addr = ip_addr
   362         self.port = port
   362         self.port = port
   365         self.plcobj = None
   365         self.plcobj = None
   366         self.servicepublisher = None
   366         self.servicepublisher = None
   367         self.autostart = autostart
   367         self.autostart = autostart
   368         self.statuschange = statuschange
   368         self.statuschange = statuschange
   369         self.evaluator = evaluator
   369         self.evaluator = evaluator
   370         self.website = website
   370         self.pyruntimevars = pyruntimevars
   371 
   371 
   372     def Loop(self):
   372     def Loop(self):
   373         while self.continueloop:
   373         while self.continueloop:
   374             self.Start()
   374             self.Start()
   375 
   375 
   385     def Start(self):
   385     def Start(self):
   386         pyro.initServer()
   386         pyro.initServer()
   387         self.daemon=pyro.Daemon(host=self.ip_addr, port=self.port)
   387         self.daemon=pyro.Daemon(host=self.ip_addr, port=self.port)
   388         self.plcobj = PLCObject(self.workdir, self.daemon, self.argv,
   388         self.plcobj = PLCObject(self.workdir, self.daemon, self.argv,
   389                                 self.statuschange, self.evaluator,
   389                                 self.statuschange, self.evaluator,
   390                                 self.website)
   390                                 self.pyruntimevars)
   391         uri = self.daemon.connect(self.plcobj,"PLCObject")
   391         uri = self.daemon.connect(self.plcobj,"PLCObject")
   392 
   392 
   393         print "Pyro port :",self.port
   393         print "Pyro port :",self.port
   394         print "Pyro object's uri :",uri
   394         print "Pyro object's uri :",uri
   395         print "Current working directory :",self.workdir
   395         print "Current working directory :",self.workdir