lib: strictly type function return status enumerations
[babeltrace.git] / include / babeltrace2 / plugin / plugin-const.h
index e9d3ee347a5479df94a8b2b25b062b8a46944216..db01f89b525625a55011e81495090cfffb135f80 100644 (file)
 /* For bt_property_availability */
 #include <babeltrace2/property.h>
 
+/* For __BT_FUNC_STATUS_* */
+#define __BT_FUNC_STATUS_ENABLE
+#include <babeltrace2/func-status.h>
+#undef __BT_FUNC_STATUS_ENABLE
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-extern const bt_plugin *bt_plugin_find(const char *plugin_name);
-
-extern const bt_plugin_set *bt_plugin_find_all_from_file(
-               const char *path);
-
-extern const bt_plugin_set *bt_plugin_find_all_from_dir(
-               const char *path, bt_bool recurse);
-
-extern const bt_plugin_set *bt_plugin_find_all_from_static(void);
+typedef enum bt_plugin_find_status {
+       BT_PLUGIN_FIND_STATUS_OK                = __BT_FUNC_STATUS_OK,
+       BT_PLUGIN_FIND_STATUS_NOT_FOUND         = __BT_FUNC_STATUS_NOT_FOUND,
+       BT_PLUGIN_FIND_STATUS_ERROR             = __BT_FUNC_STATUS_ERROR,
+       BT_PLUGIN_FIND_STATUS_LOADING_ERROR     = __BT_FUNC_STATUS_LOADING_ERROR,
+       BT_PLUGIN_FIND_STATUS_MEMORY_ERROR      = __BT_FUNC_STATUS_MEMORY_ERROR,
+} bt_plugin_find_status;
+
+extern bt_plugin_find_status bt_plugin_find(const char *plugin_name,
+               bt_bool fail_on_load_error, const bt_plugin **plugin);
+
+typedef enum bt_plugin_find_all_from_file_status {
+       BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_OK                  = __BT_FUNC_STATUS_OK,
+       BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_NOT_FOUND           = __BT_FUNC_STATUS_NOT_FOUND,
+       BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_ERROR               = __BT_FUNC_STATUS_ERROR,
+       BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_LOADING_ERROR       = __BT_FUNC_STATUS_LOADING_ERROR,
+       BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_MEMORY_ERROR        = __BT_FUNC_STATUS_MEMORY_ERROR,
+} bt_plugin_find_all_from_file_status;
+
+extern bt_plugin_find_all_from_file_status bt_plugin_find_all_from_file(
+               const char *path, bt_bool fail_on_load_error,
+               const bt_plugin_set **plugin_set);
+
+typedef enum bt_plugin_find_all_from_dir_status {
+       BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_OK                   = __BT_FUNC_STATUS_OK,
+       BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_NOT_FOUND            = __BT_FUNC_STATUS_NOT_FOUND,
+       BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_ERROR                = __BT_FUNC_STATUS_ERROR,
+       BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_LOADING_ERROR        = __BT_FUNC_STATUS_LOADING_ERROR,
+       BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_MEMORY_ERROR         = __BT_FUNC_STATUS_MEMORY_ERROR,
+} bt_plugin_find_all_from_dir_status;
+
+extern bt_plugin_find_all_from_dir_status bt_plugin_find_all_from_dir(
+               const char *path, bt_bool recurse, bt_bool fail_on_load_error,
+               const bt_plugin_set **plugin_set);
+
+typedef enum bt_plugin_find_all_from_static_status {
+       BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_OK                        = __BT_FUNC_STATUS_OK,
+       BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_NOT_FOUND                 = __BT_FUNC_STATUS_NOT_FOUND,
+       BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_ERROR                     = __BT_FUNC_STATUS_ERROR,
+       BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_LOADING_ERROR             = __BT_FUNC_STATUS_LOADING_ERROR,
+       BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_MEMORY_ERROR              = __BT_FUNC_STATUS_MEMORY_ERROR,
+} bt_plugin_find_all_from_static_status;
+
+extern bt_plugin_find_all_from_static_status bt_plugin_find_all_from_static(
+               bt_bool fail_on_load_error, const bt_plugin_set **plugin_set);
 
 extern const char *bt_plugin_get_name(const bt_plugin *plugin);
 
@@ -121,4 +162,6 @@ extern void bt_plugin_put_ref(const bt_plugin *plugin);
 }
 #endif
 
+#include <babeltrace2/undef-func-status.h>
+
 #endif /* BABELTRACE_PLUGIN_PLUGIN_CONST_H */
This page took 0.024153 seconds and 4 git commands to generate.