From 5e9f4eea451a77ba3b93db3747841ed2bd969e9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 30 Sep 2018 14:09:20 +0200 Subject: New upstream version 0.30.1 --- samples/simple-plugin/simple-plugin.vala | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 samples/simple-plugin/simple-plugin.vala (limited to 'samples/simple-plugin/simple-plugin.vala') 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() { +} + -- cgit v1.2.3