libpurple/plugins/mono/MPlugin.cs

Sat, 24 Mar 2007 06:24:59 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Sat, 24 Mar 2007 06:24:59 +0000
changeset 15938
1b037158411e
parent 15600
393bc032b053
child 16238
33bf2fd32108
child 18068
b6554e3c8224
child 20478
46933dc62880
permissions
-rw-r--r--

SF Patch #1686400 from Eoin Coffey ("ecoffey")

ecoffey described the changes:

1) Small tweaks to the loader to bring it up to speed with new mono
versions and API wrapper changes that grim had made. (was in original
patch, just forgot about it :-P)
2) .NET Plugins are now required to define an Id as part of their info.
3) Modified gaim_probe_plugin to check for existence of info->id and to
make sure it's not empty; Prints an error, stores an error in the plugin
and sets plugin->unloadable = TRUE.

15938
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15600
diff changeset
1 using Purple;
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
2
15600
393bc032b053 sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents: 15435
diff changeset
3 public class MPlugin : Plugin
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
4 {
15938
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15600
diff changeset
5 private static PluginInfo info = new PluginInfo("mono-mplugin", "C# Plugin", "0.1", "Test C# Plugin", "Longer Description", "Eoin Coffey", "urled");
15600
393bc032b053 sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents: 15435
diff changeset
6
393bc032b053 sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents: 15435
diff changeset
7 public MPlugin()
393bc032b053 sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents: 15435
diff changeset
8 : base(info)
393bc032b053 sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents: 15435
diff changeset
9 {
393bc032b053 sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents: 15435
diff changeset
10 }
393bc032b053 sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents: 15435
diff changeset
11
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
12 public void HandleSig(object[] args)
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
13 {
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
14 Buddy buddy = (Buddy)args[0];
11980
fe5c2c58508c [gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents: 11660
diff changeset
15 Status old_status = (Status)args[1];
fe5c2c58508c [gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents: 11660
diff changeset
16 Status status = (Status)args[2];
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
17
11980
fe5c2c58508c [gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents: 11660
diff changeset
18 Debug.debug(Debug.INFO, "mplug", "buddy " + buddy.Name + " went from " + old_status.Id + " to " + status.Id + "\n");
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
19 }
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
20
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
21 public override void Load()
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
22 {
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
23 Debug.debug(Debug.INFO, "mplug", "loading...\n");
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
24
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
25 /*Signal.connect(BuddyList.GetHandle(), this, "buddy-away", new Signal.Handler(HandleSig));*/
11980
fe5c2c58508c [gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents: 11660
diff changeset
26 BuddyList.OnBuddyStatusChanged.connect(this, new Signal.Handler(HandleSig));
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
27 }
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
28
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
29 public override void Unload()
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
30 {
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
31 Debug.debug(Debug.INFO, "mplug", "unloading...\n");
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
32 }
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
33
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
34 public override void Destroy()
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
35 {
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
36 Debug.debug(Debug.INFO, "mplug", "destroying...\n");
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
37 }
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
38 }

mercurial