diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-02-27 08:37:46 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-02-27 08:37:46 +0100 |
commit | 2e88ef3053cf2a12115f78fcd4292266b4c98943 (patch) | |
tree | 8fa3f4e2e9d668bef18e918a85d888ed0dd7dec4 /src/plugin.c | |
parent | 4dbcc5d0cc60785775a492e8fa1c368f52af6105 (diff) | |
download | connman-2e88ef3053cf2a12115f78fcd4292266b4c98943.tar.gz connman-2e88ef3053cf2a12115f78fcd4292266b4c98943.tar.bz2 connman-2e88ef3053cf2a12115f78fcd4292266b4c98943.zip |
Add priority field to plugin description
Diffstat (limited to 'src/plugin.c')
-rw-r--r-- | src/plugin.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugin.c b/src/plugin.c index 59d3572c..216fce15 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -36,6 +36,14 @@ struct connman_plugin { struct connman_plugin_desc *desc; }; +static gint compare_priority(gconstpointer a, gconstpointer b) +{ + const struct connman_plugin *plugin1 = a; + const struct connman_plugin *plugin2 = b; + + return plugin2->desc->priority - plugin1->desc->priority; +} + static gboolean add_plugin(void *handle, struct connman_plugin_desc *desc) { struct connman_plugin *plugin; @@ -60,7 +68,7 @@ static gboolean add_plugin(void *handle, struct connman_plugin_desc *desc) return FALSE; } - plugins = g_slist_append(plugins, plugin); + plugins = g_slist_insert_sorted(plugins, plugin, compare_priority); return TRUE; } |