Vala Plugins

You MUST have the Vala bindings installed on your system for this to work. They are built by the default GPlugin build.

Example Vala Plugin

Like all plugins in GPlugin, Vala plugins must also implement the gplugin_query, gplugin_load, and gplugin_unload functions.

Due to the way GPlugin.PluginInfo info works, you must subclass it and set your values in the new constructor.

The following is a basic Vala plugin.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using GPlugin;

public class BasicPluginInfo : GPlugin.PluginInfo {
	public BasicPluginInfo() {
		string[] authors = {"author1"};

		Object(
			id: "gplugin/vala-basic-plugin",
			abi_version: 0x01020304,
			name: "basic plugin",
			authors: authors,
			category: "test",
			version: "version",
			license_id: "license",
			summary: "summary",
			website: "website",
			description: "description"
		);
	}
}

public GPlugin.PluginInfo gplugin_query(out Error error) {
	error = null;

	return new BasicPluginInfo();
}

public bool gplugin_load(GPlugin.Plugin plugin, out Error error) {
	error = null;

	return true;
}

public bool gplugin_unload(GPlugin.Plugin plugin, out Error error) {
	error = null;

	return true;
}