Edouard@732: from weakref import ref Edouard@728: Edouard@728: class POULibrary: Edouard@732: def __init__(self, CTR, LibName, TypeStack): Edouard@772: from PLCControler import PLCControler Edouard@732: self.CTR = ref(CTR) Edouard@731: self.LibName = LibName Edouard@728: self.LibraryControler = PLCControler() Edouard@728: self.LibraryControler.OpenXMLFile(self.GetLibraryPath()) Edouard@728: self.LibraryControler.ClearConfNodeTypes() Edouard@728: self.LibraryControler.AddConfNodeTypesList(TypeStack) Edouard@728: self.program = None; Edouard@728: Edouard@728: def GetSTCode(self): Edouard@728: if not self.program: Edouard@728: self.program = self.LibraryControler.GenerateProgram()[0]+"\n" Edouard@728: return self.program Edouard@728: Edouard@731: def GetName(self): Edouard@731: return self.LibName Edouard@732: Edouard@732: def GetCTR(self): Edouard@732: return self.CTR() Edouard@728: Edouard@728: def GetTypes(self): Edouard@728: return {"name" : self.GetName(), "types": self.LibraryControler.Project} Edouard@728: Edouard@728: def GetLibraryPath(self): Edouard@728: raise Exception("Not implemented") Edouard@728: Edouard@728: def Generate_C(self, buildpath, varlist, IECCFLAGS): Edouard@728: # Pure python or IEC libs doesn't produce C code Edouard@728: return ((""), [], False), ""