sb = self.switchboardSessions.get(userHandle)
if sb: return sb.sendTypingNotification()
- def changeAvatar(self, imageData):
+ def changeAvatar(self, imageDataFunc):
"""
Changes the user's avatar.
- @param imageData: the new PNG avatar image data.
+ @param imageDataFunc: a function which returns the new PNG avatar image data.
"""
if self.notificationClient:
LogEvent(INFO, self.ident)
- self.notificationClient.changeAvatar(imageData, push=True)
+ self.notificationClient.changeAvatar(imageDataFunc, push=True)
# Save the avatar for reuse on disconnection
- self.savedEvents.avatarImageData = imageData
+ self.savedEvents.avatarImageDataFunc = imageDataFunc
def changeStatus(self, statusCode, screenName, personal):
"""
self.screenName = ""
self.statusCode = ""
self.personal = ""
- self.avatarImageData = ""
+ self.avatarImageDataFunc = None
self.addContacts = []
self.remContacts = []
def send(self, msncon):
- if self.avatarImageData:
- msncon.notificationClient.changeAvatar(self.avatarImageData, push=False)
+ if self.avatarImageDataFunc:
+ msncon.notificationClient.changeAvatar(self.avatarImageDataFunc, push=False)
if self.screenName or self.statusCode or self.personal:
msncon.changeStatus(self.statusCode, self.screenName, self.personal)
for listType, userHandle in self.addContacts:
self.reply = 0
factory = ClientFactory()
factory.buildProtocol = lambda addr: self
- reactor.connectTCP(host, port, factory)
+ self.msncon.connectors.append(reactor.connectTCP(host, port, factory))
def sbRequestFailed(ignored=None):
LogEvent(INFO, self.ident)
del self.msncon.switchboardSessions[self.remoteUser]
self.reply = 1
factory = ClientFactory()
factory.buildProtocol = lambda addr: self
- reactor.connectTCP(host, port, factory)
+ self.msncon.connectors.append(reactor.connectTCP(host, port, factory))
def flushBuffer(self):
for message, noerror in self.messageBuffer[:]: