gplugin/gplugin

Parents 3cd071170c03
Children 725422517004
Clean up the manager's signals by using g_signal_new_class_handler and using the correct types

Testing Done:
Ran the unit tests, the "-failed" signals had to be adjusted, but it doesn't look like anyone else is using them right now.

Reviewed at https://reviews.imfreedom.org/r/1784/
--- a/gplugin/gplugin-manager.c Sun Sep 18 00:13:36 2022 -0500
+++ b/gplugin/gplugin-manager.c Sun Sep 18 00:31:31 2022 -0500
@@ -342,13 +342,13 @@
* @manager: The [class@GPlugin.Manager] instance.
* @plugin: The [iface@GPlugin.Plugin] that's about to be loaded.
*
- * emitted after a plugin is loaded.
+ * Emitted after a plugin is loaded.
*/
- signals[SIG_LOADED] = g_signal_new(
+ signals[SIG_LOADED] = g_signal_new_class_handler(
"loaded-plugin",
G_OBJECT_CLASS_TYPE(klass),
G_SIGNAL_RUN_LAST,
- 0,
+ NULL,
NULL,
NULL,
NULL,
@@ -360,20 +360,22 @@
* GPluginManager::load-plugin-failed:
* @manager: The [class@GPlugin.Manager] instance.
* @plugin: The [iface@GPlugin.Plugin] that failed to load.
+ * @error: The [struct@GLib.Error] of what went wrong.
*
- * emitted after a plugin fails to load.
+ * Emitted after a plugin fails to load.
*/
- signals[SIG_LOAD_FAILED] = g_signal_new(
+ signals[SIG_LOAD_FAILED] = g_signal_new_class_handler(
"load-plugin-failed",
G_OBJECT_CLASS_TYPE(klass),
G_SIGNAL_RUN_LAST,
- 0,
+ NULL,
NULL,
NULL,
NULL,
G_TYPE_NONE,
- 1,
- G_TYPE_OBJECT);
+ 2,
+ G_TYPE_OBJECT,
+ G_TYPE_ERROR);
/**
* GPluginManager::unloading-plugin
@@ -381,7 +383,7 @@
* @plugin: The [iface@GPlugin.Plugin] that's about to be unloaded.
* @error: Return address for a [struct@GLib.Error].
*
- * emitted before a plugin is unloaded.
+ * Emitted before a plugin is unloaded.
*
* Return FALSE to stop unloading
*/
@@ -405,11 +407,11 @@
*
* emitted after a plugin is successfully unloaded.
*/
- signals[SIG_UNLOADED] = g_signal_new(
+ signals[SIG_UNLOADED] = g_signal_new_class_handler(
"unloaded-plugin",
G_OBJECT_CLASS_TYPE(klass),
G_SIGNAL_RUN_LAST,
- 0,
+ NULL,
NULL,
NULL,
NULL,
@@ -426,17 +428,18 @@
* Emitted when @manager was asked to unload @plugin, but @plugin returned
* %FALSE when its unload function was called.
*/
- signals[SIG_UNLOAD_FAILED] = g_signal_new(
+ signals[SIG_UNLOAD_FAILED] = g_signal_new_class_handler(
"unload-plugin-failed",
G_OBJECT_CLASS_TYPE(klass),
G_SIGNAL_RUN_LAST,
- 0,
+ NULL,
NULL,
NULL,
NULL,
G_TYPE_NONE,
- 1,
- G_TYPE_OBJECT);
+ 2,
+ G_TYPE_OBJECT,
+ G_TYPE_ERROR);
/**
* GPluginManager::loader-registered:
@@ -1683,7 +1686,7 @@
g_clear_error(&real_error);
g_signal_emit(manager, signals[SIG_LOADED], 0, plugin);
} else {
- g_signal_emit(manager, signals[SIG_LOAD_FAILED], 0, plugin);
+ g_signal_emit(manager, signals[SIG_LOAD_FAILED], 0, plugin, real_error);
g_propagate_error(error, real_error);
}
@@ -1759,7 +1762,12 @@
g_clear_error(&real_error);
g_signal_emit(manager, signals[SIG_UNLOADED], 0, plugin);
} else {
- g_signal_emit(manager, signals[SIG_UNLOAD_FAILED], 0, plugin);
+ g_signal_emit(
+ manager,
+ signals[SIG_UNLOAD_FAILED],
+ 0,
+ plugin,
+ real_error);
g_propagate_error(error, real_error);
}
--- a/gplugin/tests/test-signals.c Sun Sep 18 00:13:36 2022 -0500
+++ b/gplugin/tests/test-signals.c Sun Sep 18 00:31:31 2022 -0500
@@ -117,6 +117,7 @@
test_gplugin_manager_signals_load_failed(
G_GNUC_UNUSED GObject *manager,
G_GNUC_UNUSED GPluginPlugin *plugin,
+ G_GNUC_UNUSED GError *error,
gpointer d)
{
TestGPluginManagerSignalsData *data = (TestGPluginManagerSignalsData *)d;
@@ -128,6 +129,7 @@
test_gplugin_manager_signals_unload_failed(
G_GNUC_UNUSED GObject *manager,
G_GNUC_UNUSED GPluginPlugin *plugin,
+ G_GNUC_UNUSED GError *error,
gpointer d)
{
TestGPluginManagerSignalsData *data = (TestGPluginManagerSignalsData *)d;