python_plugin_provider_module =
g_module_open(PYTHON_PLUGIN_PROVIDER_FILENAME, 0);
if (!python_plugin_provider_module) {
python_plugin_provider_module =
g_module_open(PYTHON_PLUGIN_PROVIDER_FILENAME, 0);
if (!python_plugin_provider_module) {
__attribute__((destructor)) static
void fini_python_plugin_provider(void) {
if (python_plugin_provider_module) {
__attribute__((destructor)) static
void fini_python_plugin_provider(void) {
if (python_plugin_provider_module) {
if (!g_module_close(python_plugin_provider_module)) {
BT_LOGE("Failed to close the Python plugin provider module: %s.",
if (!g_module_close(python_plugin_provider_module)) {
BT_LOGE("Failed to close the Python plugin provider module: %s.",
struct bt_plugin_set *plugin_set = NULL;
BT_ASSERT_PRE_NON_NULL(path, "Path");
struct bt_plugin_set *plugin_set = NULL;
BT_ASSERT_PRE_NON_NULL(path, "Path");
"path=\"%s\", count=%u, plugin-set-addr=%p",
plugin_set->plugins->len, path,
plugin_set->plugins->len, plugin_set);
} else {
"path=\"%s\", count=%u, plugin-set-addr=%p",
plugin_set->plugins->len, path,
plugin_set->plugins->len, plugin_set);
} else {
"name=\"%s\"", plugin_name);
dirs = g_ptr_array_new_with_free_func((GDestroyNotify) destroy_gstring);
if (!dirs) {
"name=\"%s\"", plugin_name);
dirs = g_ptr_array_new_with_free_func((GDestroyNotify) destroy_gstring);
if (!dirs) {
* bt_plugin_find_all_from_dir() would log a warning.
*/
if (!g_file_test(dir->str, G_FILE_TEST_IS_DIR)) {
* bt_plugin_find_all_from_dir() would log a warning.
*/
if (!g_file_test(dir->str, G_FILE_TEST_IS_DIR)) {
/* 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_plugin_find_all_from_dir() logs details/errors */
plugin_set = bt_plugin_find_all_from_dir(dir->str, BT_FALSE);
if (!plugin_set) {
"name=\"%s\"", plugin_name);
plugin = candidate_plugin;
bt_object_get_no_null_check(plugin);
"name=\"%s\"", plugin_name);
plugin = candidate_plugin;
bt_object_get_no_null_check(plugin);
struct bt_plugin *plugin =
g_ptr_array_index(plugins_from_file->plugins, j);
struct bt_plugin *plugin =
g_ptr_array_index(plugins_from_file->plugins, j);
"plugin-path=\"%s\", %![plugin-]+l",
file, plugin);
bt_plugin_set_add_plugin(
"plugin-path=\"%s\", %![plugin-]+l",
file, plugin);
bt_plugin_set_add_plugin(
BT_ASSERT_PRE_NON_NULL(plugin, "Plugin");
if (!plugin->info.version_set) {
BT_ASSERT_PRE_NON_NULL(plugin, "Plugin");
if (!plugin->info.version_set) {