Ejemplo n.º 1
0
class PSYCPackage:
    """see bitkoenig's java interface specification"""
    def __init__(self):
        self.packagename = "Abstract psycPackage interface"
        self.methods = []

        self.center = None        
        self.psyc = PSYCState()
        self.mmp = MMPState()        

    def registerCenter(self, center):
        self.center = center

    def getMethods(self):
        return self.methods

    def received(self, source, mc, mmp, psyc):
        print "<<<", source, "[", self.packagename, "]"
        print "mmp:", mmp.packetstate
        print "psyc:", psyc.packetstate
        print "mc:", mc
        print "text:", parsetext(mmp, psyc)
        print "----"
        
    def set_mc(self, mc): self.psyc.set_mc(mc)
    def set_target(self, target): self.mmp._assign("_target", target)
        
    def set_text(self, text):
        self.psyc.reset_text()
        self.psyc.append_text(text)
        
    def set_psycvar(self, var, value):
        self.psyc._assign(var, value)
        
    def send(self):
        self.center.send(self.mmp, self.psyc)
        self.mmp.reset_state()
        self.psyc.reset_state()

    def castmsg(self):
        self.center.castmsg(self.mmp, self.psyc)
        self.mmp.reset_state()
        self.psyc.reset_state()