diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2018-10-01 07:17:16 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2018-10-01 07:17:16 +0200 |
commit | 71137cc5832110d91599d68790402cf196762ed3 (patch) | |
tree | e7985bbfb6ca50ea738b38a9f852ee51431d48a7 /samples/simple-plugin/simple-plugin.vala | |
parent | 8ae550d463720d5d1c0e253af29843ff15de1a54 (diff) | |
parent | 1e92964463e564bb3359a7110342182fcfdc67f2 (diff) |
Merge branch 'release/debian/0.30.1-1'debian/0.30.1-1
Diffstat (limited to 'samples/simple-plugin/simple-plugin.vala')
-rw-r--r-- | samples/simple-plugin/simple-plugin.vala | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/samples/simple-plugin/simple-plugin.vala b/samples/simple-plugin/simple-plugin.vala new file mode 100644 index 0000000..8c57496 --- /dev/null +++ b/samples/simple-plugin/simple-plugin.vala @@ -0,0 +1,49 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +extern const string _VERSION; + +// +// Each .so has a Spit.Module that describes the module and offers zero or more Spit.Pluggables +// to Shotwell to extend its functionality, +// + +private class SimplePluginModule : Object, Spit.Module { + public unowned string get_module_name() { + return "Simple Plugin Sample"; + } + + public unowned string get_version() { + return _VERSION; + } + + // Every module needs to have a unique ID. + public unowned string get_id() { + return "org.yorba.shotwell.samples.simple-plugin"; + } + + public unowned Spit.Pluggable[]? get_pluggables() { + return null; + } +} + +// +// spit_entry_point() is required for all SPIT modules. +// + +public Spit.Module? spit_entry_point(Spit.EntryPointParams *params) { + // Spit.negotiate_interfaces is a simple way to deal with the parameters from the host + params->module_spit_interface = Spit.negotiate_interfaces(params->host_min_spit_interface, + params->host_max_spit_interface, Spit.CURRENT_INTERFACE); + + return (params->module_spit_interface != Spit.UNSUPPORTED_INTERFACE) + ? new SimplePluginModule() : null; +} + +// This is here to keep valac happy. +private void dummy_main() { +} + |