Do not use `bool` type; use new `bt_bool` instead
[babeltrace.git] / include / babeltrace / plugin / plugin.h
index 66436dfb47dbd44eab11d92ad5f1bbab6cc0bfda..b9be67436b08bd386ab30f6f3fb9b840e6f78394 100644 (file)
  * SOFTWARE.
  */
 
+#include <stdint.h>
 #include <stddef.h>
-#include <stdbool.h>
-#include <babeltrace/component/component-class.h>
+#include <babeltrace/graph/component-class.h>
+#include <babeltrace/types.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 struct bt_plugin;
+struct bt_plugin_set;
 struct bt_component_class;
 
 /**
@@ -51,12 +53,18 @@ enum bt_plugin_status {
        BT_PLUGIN_STATUS_NOMEM =        -4,
 };
 
-extern struct bt_plugin **bt_plugin_create_all_from_file(const char *path);
+extern struct bt_plugin *bt_plugin_find(const char *plugin_name);
 
-extern struct bt_plugin **bt_plugin_create_all_from_dir(const char *path,
-               bool recurse);
+extern struct bt_component_class *bt_plugin_find_component_class(
+               const char *plugin_name, const char *component_class_name,
+               enum bt_component_class_type component_class_type);
 
-extern struct bt_plugin **bt_plugin_create_all_from_static(void);
+extern struct bt_plugin_set *bt_plugin_create_all_from_file(const char *path);
+
+extern struct bt_plugin_set *bt_plugin_create_all_from_dir(const char *path,
+               bt_bool recurse);
+
+extern struct bt_plugin_set *bt_plugin_create_all_from_static(void);
 
 /**
  * Get the name of a plug-in.
@@ -98,15 +106,26 @@ extern const char *bt_plugin_get_description(struct bt_plugin *plugin);
  */
 extern const char *bt_plugin_get_path(struct bt_plugin *plugin);
 
-extern int bt_plugin_get_component_class_count(struct bt_plugin *plugin);
+extern enum bt_plugin_status bt_plugin_get_version(struct bt_plugin *plugin,
+               unsigned int *major, unsigned int *minor, unsigned int *patch,
+               const char **extra);
 
-extern struct bt_component_class *bt_plugin_get_component_class(
-               struct bt_plugin *plugin, size_t index);
+extern int64_t bt_plugin_get_component_class_count(struct bt_plugin *plugin);
+
+extern struct bt_component_class *bt_plugin_get_component_class_by_index(
+               struct bt_plugin *plugin, uint64_t index);
 
 extern
 struct bt_component_class *bt_plugin_get_component_class_by_name_and_type(
                struct bt_plugin *plugin, const char *name,
-               enum bt_component_type type);
+               enum bt_component_class_type type);
+
+extern
+int64_t bt_plugin_set_get_plugin_count(struct bt_plugin_set *plugin_set);
+
+extern
+struct bt_plugin *bt_plugin_set_get_plugin(struct bt_plugin_set *plugin_set,
+               uint64_t index);
 
 #ifdef __cplusplus
 }
This page took 0.024267 seconds and 4 git commands to generate.