Genie Plugins
You MUST have the Vala bindings installed on your system for this to work. They are built by the default GPlugin build.
Example Genie Plugin
Due to the way GPlugin.PluginInfo
info works, you must subclass it and set
your values in the new constructor. It is recommended that you define this
class in a namespace to avoid collisions with other plugins.
Like all plugins in GPlugin, Genie plugins must also implement the
gplugin_query
, gplugin_load
, and gplugin_unload
functions. These
functions must be in the global namespace.
The following is a basic Genie plugin.
uses GPlugin
namespace BasicPlugin
class Info : GPlugin.PluginInfo
construct()
authors : array of string = {"author1"}
Object(
id: "gplugin/genie-basic-plugin",
abi_version: 0x01020304,
name: "basic plugin",
authors: authors,
category: "test",
version: "version",
license_id: "license",
summary: "summary",
website: "website",
description: "description"
)
def gplugin_query(out error : Error) : GPlugin.PluginInfo
error = null
return new BasicPlugin.Info()
def gplugin_load(plugin : GPlugin.Plugin, out error : Error) : bool
error = null
return true
def gplugin_unload(plugin : GPlugin.Plugin, out error : Error) : bool
error = null
return true