-/* A plugin must define the __bt_plugin_init symbol */
-#define BT_PLUGIN_NAME(_x) const char __bt_plugin_name[] = (_x)
-#define BT_PLUGIN_AUTHOR(_x) const char __bt_plugin_author[] = (_x)
-#define BT_PLUGIN_LICENSE(_x) const char __bt_plugin_license[] = (_x)
-#define BT_PLUGIN_INIT(_x) bt_plugin_init_func __bt_plugin_init = (_x)
-#define BT_PLUGIN_EXIT(_x) bt_plugin_exit_func __bt_plugin_exit = (_x)
-
-#define BT_PLUGIN_COMPONENT_CLASSES_BEGIN \
- enum bt_component_status __bt_plugin_register_component_classes(\
- struct bt_component_factory *factory)\
- {
+/**
+ * Get the name of a plug-in.
+ *
+ * @param plugin An instance of a plug-in
+ * @returns Plug-in name or NULL on error
+ */
+extern const char *bt_plugin_get_name(struct bt_plugin *plugin);