gplugin/gplugin

A whole bunch of convey cleanups

2021-09-05, Gary Kramlich
683a9c8cda20
A whole bunch of convey cleanups

Testing Done:
Ran all of the plans (I think)

Reviewed at https://reviews.imfreedom.org/r/910/
Title: Vala Plugin Example
Slug: vala
## 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.
```vala
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;
}
```