lib: force user to include `<babeltrace2/babeltrace.h>`
[babeltrace.git] / src / bindings / python / bt2 / bt2 / native_bt.i
index c062f34ab8c46ddc00a40c79b32a9c6e24729936..c87a5e7280ca3300600878515df709b2a4f200dc 100644 (file)
 #define BT_LOG_TAG "BT2-PY"
 #include "logging.h"
 
+/*
+ * Include before `<babeltrace2/func-status.h>` because
+ * `<babeltrace2/babeltrace.h>` removes the `__BT_IN_BABELTRACE_H`
+ * definition.
+ */
 #include <babeltrace2/babeltrace.h>
-#include <babeltrace2/property.h>
+
+/*
+ * This is not part of the API, but because those bindings reside within
+ * the project, we take the liberty to use them.
+ */
+#define __BT_IN_BABELTRACE_H
+#include <babeltrace2/func-status.h>
+
 #include "common/assert.h"
+#include "py-common/py-common.h"
 
 typedef const uint8_t *bt_uuid;
 %}
@@ -171,8 +184,19 @@ typedef int bt_bool;
        $result = $1;
 }
 
+/*
+ * Define `__BT_IN_BABELTRACE_H` to allow specific headers to be
+ * included. This remains defined as long as we don't include the main
+ * header, `<babeltrace2/babeltrace.h>`.
+ */
+#define __BT_IN_BABELTRACE_H
+
+/* Property enumeration */
 %include <babeltrace2/property.h>
 
+/* Common function status codes */
+%include <babeltrace2/func-status.h>
+
 /* Per-module interface files */
 %include "native_bt_clock_class.i"
 %include "native_bt_clock_snapshot.i"
This page took 0.023582 seconds and 4 git commands to generate.