Sat, 24 Mar 2007 06:24:59 +0000
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 | 2 | |
|
15600
393bc032b053
sf patch #1640011, from Celso Pinto
Mark Doliner <markdoliner@pidgin.im>
parents:
15435
diff
changeset
|
3 | public class MPlugin : Plugin |
| 11660 | 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 | 12 | public void HandleSig(object[] args) |
| 13 | { | |
| 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 | 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 | 19 | } |
| 20 | ||
| 21 | public override void Load() | |
| 22 | { | |
| 23 | Debug.debug(Debug.INFO, "mplug", "loading...\n"); | |
| 24 | ||
| 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 | 27 | } |
| 28 | ||
| 29 | public override void Unload() | |
| 30 | { | |
| 31 | Debug.debug(Debug.INFO, "mplug", "unloading...\n"); | |
| 32 | } | |
| 33 | ||
| 34 | public override void Destroy() | |
| 35 | { | |
| 36 | Debug.debug(Debug.INFO, "mplug", "destroying...\n"); | |
| 37 | } | |
| 38 | } |