view libpurple/plugins/mono/MPlugin.cs @ 27463:167d7c3a4f7b

XMPP allows for internationalized domain names. We don't actually support IDNA for connecting (AFAIK), but we need to be able to receive stanzas from such users. This check might be overly accepting of some non-ASCII that wouldn't properly convert according to RFC3490. See http://xmpp.org/internet-drafts/draft-ietf-xmpp-3920bis-00.html#addressing-domain and http://tools.ietf.org/html/rfc3490
author Paul Aurich <paul@darkrain42.org>
date Sat, 11 Jul 2009 00:49:25 +0000
parents 80ee585fb53c
children
line wrap: on
line source

using Purple;

public class MPlugin : Plugin
{
	private static PluginInfo info = new PluginInfo("mono-mplugin", "C# Plugin", "0.1", "Test C# Plugin", "Longer Description", "Eoin Coffey", "urled");

	public MPlugin()
		: base(info)
	{
	}

	public void HandleSig(object[] args)
	{
		Buddy buddy = (Buddy)args[0];
		Status old_status = (Status)args[1];
		Status status = (Status)args[2];
		
		Debug.debug(Debug.INFO, "mplug", "buddy " + buddy.Name + " went from " + old_status.Id + " to " + status.Id + "\n");
	}
	
	public override void Load()
	{
		Debug.debug(Debug.INFO, "mplug", "loading...\n");
		
		/*Signal.connect(BuddyList.GetHandle(), this, "buddy-away", new Signal.Handler(HandleSig));*/
		BuddyList.OnBuddyStatusChanged.connect(this, new Signal.Handler(HandleSig));
	}
	
	public override void Unload()
	{
		Debug.debug(Debug.INFO, "mplug", "unloading...\n");
	}
	
	public override void Destroy()
	{
		Debug.debug(Debug.INFO, "mplug", "destroying...\n");
	}
}