X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fplugin%2Fplugin.c;h=9f0bc2ac22efdba4f4299e89690de6575b6224a1;hb=a12f3d624772f543137e60252101871cd6017a06;hp=a0a588a6c76d58e5840174509a466c9e1113d4bc;hpb=0d72b8c329ad51d14ab4e83330b38c2c8da69dd4;p=babeltrace.git diff --git a/lib/plugin/plugin.c b/lib/plugin/plugin.c index a0a588a6..9f0bc2ac 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 * @@ -26,9 +26,10 @@ #define BT_LOG_TAG "PLUGIN" #include +#include +#include #include #include -#include #include #include #include @@ -36,8 +37,6 @@ #include #include #include -#include -#include #include #include #include @@ -47,7 +46,7 @@ #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) @@ -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; @@ -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); +}