equal
deleted
inserted
replaced
40 }.get(sys.platform, "") |
40 }.get(sys.platform, "") |
41 |
41 |
42 class PLCObject(pyro.ObjBase): |
42 class PLCObject(pyro.ObjBase): |
43 def __init__(self, workingdir, daemon, argv): |
43 def __init__(self, workingdir, daemon, argv): |
44 pyro.ObjBase.__init__(self) |
44 pyro.ObjBase.__init__(self) |
45 self.argv=argv |
45 self.argv = [workingdir] + argv # force argv[0] to be "path" to exec... |
46 self.workingdir = workingdir |
46 self.workingdir = workingdir |
47 self.PLCStatus = "Stopped" |
47 self.PLCStatus = "Stopped" |
48 self.PLClibraryHandle = None |
48 self.PLClibraryHandle = None |
49 # Creates fake C funcs proxies |
49 # Creates fake C funcs proxies |
50 self._FreePLC() |
50 self._FreePLC() |
149 |
149 |
150 |
150 |
151 def StartPLC(self): |
151 def StartPLC(self): |
152 print "StartPLC" |
152 print "StartPLC" |
153 if self.CurrentPLCFilename is not None and self.PLCStatus == "Stopped": |
153 if self.CurrentPLCFilename is not None and self.PLCStatus == "Stopped": |
154 c_argv = ctypes.c_char_p * len(sys.argv) |
154 c_argv = ctypes.c_char_p * len(self.argv) |
155 if self._LoadNewPLC() and self._startPLC(len(self.argv),c_argv(*self.argv)) == 0: |
155 if self._LoadNewPLC() and self._startPLC(len(self.argv),c_argv(*self.argv)) == 0: |
156 self.PLCStatus = "Started" |
156 self.PLCStatus = "Started" |
157 return True |
157 return True |
158 else: |
158 else: |
159 print "_StartPLC did not return 0 !" |
159 print "_StartPLC did not return 0 !" |