view libpurple/plugins/mono/BooPlugin.boo @ 18909:c32fcdef2809

Only say we are connected after the MsimSession structure is fully setup. (Also change a few debugging statements to help find this bug.) Previously, purple_connection_set_state(..., PURPLE_CONNECTED) was called too early, so that if a client called any msimprpl functions that operated on MsimSession (pretty much all of them) within the signed-on signal handler, the userid etc., would not yet be correct and the call would fail. Now, the call is called at the right time so it works as expected. Closes #2520.
author Jeffrey Connelly <jaconnel@calpoly.edu>
date Sun, 12 Aug 2007 18:48:03 +0000
parents 80ee585fb53c
children
line wrap: on
line source

import Purple

class BooPlugin(PurplePlugin):

	def handle(*args as (object)):
		b as Buddy
		b = args[0]
		Debug.debug(Debug.INFO, "booplugin",  "Boo Plugin knows that " + b.Alias + " is away\n")
		
	override def Load():
		Debug.debug(Debug.INFO, "booplugin", "loading...\n")
		BuddyList.OnBuddyAway.connect(self, handle)
		
	override def Unload():
		Debug.debug(Debug.INFO, "booplugin", "unloading...\n")
		
	override def Destroy():
		Debug.debug(Debug.INFO, "booplugin", "destroying...\n")
		
	override def Info():
		return PurplePluginInfo("mono-boo", "Boo Plugin", "0.1", "Test Boo Plugin", "Longer Description", "Eoin Coffey", "urled")