X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fplugin%2Fplugin.c;h=a6e9806d21f77a26fcb8b61cd71e0c3cf7f3c808;hb=d9676d8c5afce3c35d282fb5053a9bbc7427526b;hp=a0a588a6c76d58e5840174509a466c9e1113d4bc;hpb=0d72b8c329ad51d14ab4e83330b38c2c8da69dd4;p=babeltrace.git diff --git a/lib/plugin/plugin.c b/lib/plugin/plugin.c index a0a588a6..a6e9806d 100644 --- a/lib/plugin/plugin.c +++ b/lib/plugin/plugin.c @@ -1,6 +1,6 @@ /* + * Copyright 2017-2018 Philippe Proulx * Copyright 2016 Jérémie Galarneau - * Copyright 2017 Philippe Proulx * * Author: Jérémie Galarneau * @@ -24,20 +24,19 @@ */ #define BT_LOG_TAG "PLUGIN" -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -47,14 +46,14 @@ #include #include -#define PYTHON_PLUGIN_PROVIDER_FILENAME "libbabeltrace-python-plugin-provider." G_MODULE_SUFFIX +#define PYTHON_PLUGIN_PROVIDER_FILENAME "libbabeltrace2-python-plugin-provider." G_MODULE_SUFFIX #define PYTHON_PLUGIN_PROVIDER_SYM_NAME bt_plugin_python_create_all_from_file #define PYTHON_PLUGIN_PROVIDER_SYM_NAME_STR TOSTRING(PYTHON_PLUGIN_PROVIDER_SYM_NAME) #define APPEND_ALL_FROM_DIR_NFDOPEN_MAX 8 #ifdef BT_BUILT_IN_PYTHON_PLUGIN_SUPPORT -#include +#include static struct bt_plugin_set *(*bt_plugin_python_create_all_from_file_sym)(const char *path) = @@ -125,13 +124,13 @@ const struct bt_plugin *bt_plugin_set_borrow_plugin_by_index_const( return g_ptr_array_index(plugin_set->plugins, index); } -const struct bt_plugin_set *bt_plugin_create_all_from_static(void) +const struct bt_plugin_set *bt_plugin_find_all_from_static(void) { /* bt_plugin_so_create_all_from_static() logs errors */ return bt_plugin_so_create_all_from_static(); } -const struct bt_plugin_set *bt_plugin_create_all_from_file(const char *path) +const struct bt_plugin_set *bt_plugin_find_all_from_file(const char *path) { struct bt_plugin_set *plugin_set = NULL; @@ -196,10 +195,10 @@ const struct bt_plugin *bt_plugin_find(const char *plugin_name) * * 1. BABELTRACE_PLUGIN_PATH environment variable * (colon-separated list of directories) - * 2. ~/.local/lib/babeltrace/plugins + * 2. ~/.local/lib/babeltrace2/plugins * 3. Default system directory for Babeltrace plugins, usually - * /usr/lib/babeltrace/plugins or - * /usr/local/lib/babeltrace/plugins if installed + * /usr/lib/babeltrace2/plugins or + * /usr/local/lib/babeltrace2/plugins if installed * locally * 4. Built-in plugins (static) * @@ -247,7 +246,7 @@ const struct bt_plugin *bt_plugin_find(const char *plugin_name) /* * Skip this if the directory does not exist because - * bt_plugin_create_all_from_dir() would log a warning. + * bt_plugin_find_all_from_dir() would log a warning. */ if (!g_file_test(dir->str, G_FILE_TEST_IS_DIR)) { BT_LOGV("Skipping nonexistent directory path: " @@ -255,8 +254,8 @@ const struct bt_plugin *bt_plugin_find(const char *plugin_name) continue; } - /* bt_plugin_create_all_from_dir() logs details/errors */ - plugin_set = bt_plugin_create_all_from_dir(dir->str, BT_FALSE); + /* bt_plugin_find_all_from_dir() logs details/errors */ + plugin_set = bt_plugin_find_all_from_dir(dir->str, BT_FALSE); if (!plugin_set) { BT_LOGD("No plugins found in directory: path=\"%s\"", dir->str); @@ -282,7 +281,7 @@ const struct bt_plugin *bt_plugin_find(const char *plugin_name) } bt_object_put_ref(plugin_set); - plugin_set = bt_plugin_create_all_from_static(); + plugin_set = bt_plugin_find_all_from_static(); if (plugin_set) { for (j = 0; j < plugin_set->plugins->len; j++) { const struct bt_plugin *candidate_plugin = @@ -349,7 +348,7 @@ int nftw_append_all_from_dir(const char *file, const struct stat *sb, int flag, goto end; } - plugins_from_file = bt_plugin_create_all_from_file(file); + plugins_from_file = bt_plugin_find_all_from_file(file); if (plugins_from_file) { size_t j; @@ -409,7 +408,7 @@ enum bt_plugin_status bt_plugin_create_append_all_from_dir( return ret; } -const struct bt_plugin_set *bt_plugin_create_all_from_dir(const char *path, +const struct bt_plugin_set *bt_plugin_find_all_from_dir(const char *path, bt_bool recurse) { struct bt_plugin_set *plugin_set; @@ -539,7 +538,7 @@ struct bt_component_class *borrow_component_class_by_index( } const struct bt_component_class_source * -bt_plugin_borrow_source_component_class_by_index_const_const( +bt_plugin_borrow_source_component_class_by_index_const( const struct bt_plugin *plugin, uint64_t index) { return (const void *) borrow_component_class_by_index(plugin, @@ -613,3 +612,23 @@ bt_plugin_borrow_sink_component_class_by_name_const( return (const void *) borrow_component_class_by_name(plugin, plugin->sink_comp_classes, name); } + +void bt_plugin_get_ref(const struct bt_plugin *plugin) +{ + bt_object_get_ref(plugin); +} + +void bt_plugin_put_ref(const struct bt_plugin *plugin) +{ + bt_object_put_ref(plugin); +} + +void bt_plugin_set_get_ref(const struct bt_plugin_set *plugin_set) +{ + bt_object_get_ref(plugin_set); +} + +void bt_plugin_set_put_ref(const struct bt_plugin_set *plugin_set) +{ + bt_object_put_ref(plugin_set); +}