plugger.py
changeset 699 6ff64cadb1ff
parent 696 9265781619b7
child 703 2f7b3d1de278
equal deleted inserted replaced
697:3e83853081d4 699:6ff64cadb1ff
   167         for PlugChild in self.IterChilds():
   167         for PlugChild in self.IterChilds():
   168             if PlugChild.ProjectTestModified():
   168             if PlugChild.ProjectTestModified():
   169                 return True
   169                 return True
   170 
   170 
   171         return False
   171         return False
   172         
   172     
       
   173     def RemoteExec(self, script, **kwargs):
       
   174         return self.PlugParent.RemoteExec(script, **kwargs)
       
   175     
   173     def OnPlugSave(self):
   176     def OnPlugSave(self):
   174         #Default, do nothing and return success
   177         #Default, do nothing and return success
   175         return True
   178         return True
   176 
   179 
   177     def GetParamsAttributes(self, path = None):
   180     def GetParamsAttributes(self, path = None):
  1773                         function(*(cargs + args), **kwargs)
  1776                         function(*(cargs + args), **kwargs)
  1774                 # This will block thread if more than one call is waiting
  1777                 # This will block thread if more than one call is waiting
  1775 
  1778 
  1776     def GetTicktime(self):
  1779     def GetTicktime(self):
  1777         return self._Ticktime
  1780         return self._Ticktime
       
  1781 
       
  1782     def RemoteExec(self, script, **kwargs):
       
  1783         if self._connector is None:
       
  1784             return -1, "No runtime connected"
       
  1785         return self._connector.RemoteExec(script, **kwargs)
  1778 
  1786 
  1779     def DebugThreadProc(self):
  1787     def DebugThreadProc(self):
  1780         """
  1788         """
  1781         This thread waid PLC debug data, and dispatch them to subscribers
  1789         This thread waid PLC debug data, and dispatch them to subscribers
  1782         """
  1790         """
  1813                 self.debug_break = True
  1821                 self.debug_break = True
  1814         self.logger.write(_("Debugger disabled\n"))
  1822         self.logger.write(_("Debugger disabled\n"))
  1815         self.DebugThread = None
  1823         self.DebugThread = None
  1816 
  1824 
  1817     def KillDebugThread(self):
  1825     def KillDebugThread(self):
  1818         tmp_debugthread = self.DebugThread
       
  1819         self.debug_break = True
  1826         self.debug_break = True
  1820         if tmp_debugthread is not None:
  1827         if self.DebugThread is not None:
  1821             self.logger.writeyield(_("Stopping debugger...\n"))
  1828             self.logger.writeyield(_("Stopping debugger...\n"))
  1822             tmp_debugthread.join(timeout=5)
  1829             self.DebugThread.join(timeout=5)
  1823             if tmp_debugthread.isAlive() and self.logger:
  1830             if self.DebugThread.isAlive() and self.logger:
  1824                 self.logger.write_warning(_("Couldn't stop debugger.\n"))
  1831                 self.logger.write_warning(_("Couldn't stop debugger.\n"))
  1825             else:
  1832             else:
  1826                 self.logger.write(_("Debugger stopped.\n"))
  1833                 self.logger.write(_("Debugger stopped.\n"))
  1827         self.DebugThread = None
  1834         self.DebugThread = None
  1828 
  1835