libpurple/plugins/mono/api/PurplePlugin.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 15435
libpurple/plugins/mono/api/GaimPlugin.cs@4b933b06d75e
child 15958
4067324ddb35
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: 15435
diff changeset
1 namespace Purple {
15055
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
2 public class PluginInfo {
15938
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
3 private string id;
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
4 private string name;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
5 private string version;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
6 private string summary;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
7 private string description;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
8 private string author;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
9 private string homepage;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
10
15938
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
11 public PluginInfo(string id, string name, string version, string summary,
15055
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
12 string description, string author, string homepage)
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
13 {
15938
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
14 this.id = id;
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
15 this.name = name;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
16 this.version = version;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
17 this.summary = summary;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
18 this.description = description;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
19 this.author = author;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
20 this.homepage = homepage;
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
21 }
15055
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
22
15938
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
23 public string Id {
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
24 get { return id; }
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
25 }
1b037158411e SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
26
15055
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
27 public string Name {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
28 get { return name; }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
29 }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
30
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
31 public string Version {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
32 get { return version; }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
33 }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
34
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
35 public string Summary {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
36 get { return summary; }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
37 }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
38
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
39 public string Description {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
40 get { return description; }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
41 }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
42
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
43 public string Author {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
44 get { return author; }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
45 }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
46
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
47 public string Homepage {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
48 get { return homepage; }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
49 }
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
50 }
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
51
15055
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
52 abstract public class Plugin {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
53 private PluginInfo info;
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
54
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
55 public Plugin(PluginInfo info) {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
56 this.info = info;
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
57 }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
58
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
59 public abstract void Load();
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
60 public abstract void Unload();
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
61 public abstract void Destroy();
15055
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
62
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
63 public PluginInfo Info {
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
64 get { return info; }
dc3454f0f1e3 [gaim-migrate @ 17772]
Gary Kramlich <grim@reaperworld.com>
parents: 14254
diff changeset
65 }
11660
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
66 }
a7cf8f7d43b3 [gaim-migrate @ 13945]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
diff changeset
67 }

mercurial