src.ctf.fs: add stream port name to trace-info query, use it for stream intersection
[babeltrace.git] / plugins / ctf / fs-src / fs.h
index 56fe4891931ceccfbda0879a0fe284b880457e43..ed65aa3c446fe21864f9e73e0fcd2ec36a61872c 100644 (file)
@@ -63,8 +63,6 @@ struct ctf_fs_metadata {
        /* Owned by this */
        char *text;
 
-       uint8_t uuid[16];
-       bool is_uuid_set;
        int bo;
 };
 
@@ -114,7 +112,7 @@ struct ctf_fs_ds_file_group {
        GPtrArray *ds_file_infos;
 
        /* Owned by this */
-       bt_stream_class *stream_class;
+       struct ctf_stream_class *sc;
 
        /* Owned by this */
        bt_stream *stream;
@@ -149,9 +147,6 @@ struct ctf_fs_msg_iter_data {
 
        /* Owned by this */
        struct bt_msg_iter *msg_iter;
-
-       /* True to skip BT_MESSAGE_TYPE_STREAM_BEGINNING messages */
-       bool skip_stream_begin_msgs;
 };
 
 BT_HIDDEN
@@ -169,20 +164,6 @@ bt_query_status ctf_fs_query(
                const char *object, const bt_value *params,
                const bt_value **result);
 
-BT_HIDDEN
-struct ctf_fs_trace *ctf_fs_trace_create(bt_self_component_source *self_comp,
-               const char *path, const char *name,
-               struct ctf_fs_metadata_config *config);
-
-BT_HIDDEN
-void ctf_fs_trace_destroy(struct ctf_fs_trace *trace);
-
-BT_HIDDEN
-int ctf_fs_find_traces(GList **trace_paths, const char *start_path);
-
-BT_HIDDEN
-GList *ctf_fs_create_trace_names(GList *trace_paths, const char *base_path);
-
 BT_HIDDEN
 bt_self_message_iterator_status ctf_fs_iterator_init(
                bt_self_message_iterator *self_msg_iter,
@@ -198,4 +179,52 @@ bt_self_message_iterator_status ctf_fs_iterator_next(
                bt_message_array_const msgs, uint64_t capacity,
                uint64_t *count);
 
+BT_HIDDEN
+bt_self_message_iterator_status ctf_fs_iterator_seek_beginning(
+               bt_self_message_iterator *message_iterator);
+
+/* Create and initialize a new, empty ctf_fs_component. */
+
+BT_HIDDEN
+struct ctf_fs_component *ctf_fs_component_create(void);
+
+/*
+ * Search recursively under all paths in `paths_value` (an array of strings),
+ * for CTF traces. For each CTF trace found, create a ctf_fs_trace in
+ * `ctf_fs` representing that trace.
+ */
+
+BT_HIDDEN
+int ctf_fs_component_create_ctf_fs_traces(bt_self_component_source *self_comp,
+               struct ctf_fs_component *ctf_fs,
+               const bt_value *paths_value);
+
+/* Free `ctf_fs` and everything it owns. */
+
+BT_HIDDEN
+void ctf_fs_destroy(struct ctf_fs_component *ctf_fs);
+
+/*
+ * Read and validate parameters taken by the src.ctf.fs plugin.
+ *
+ *  - The mandatory `paths` parameter is returned in `*paths`.
+ *  - The optional `clock-class-offset-s` and `clock-class-offset-ns`, if
+ *    present, are recorded in the `ctf_fs` structure.
+ *
+ * Return true on success, false if any parameter didn't pass validation.
+ */
+
+BT_HIDDEN
+bool read_src_fs_parameters(const bt_value *params,
+               const bt_value **paths, struct ctf_fs_component *ctf_fs);
+
+/*
+ * Generate the port name to be used for a given data stream file group.
+ *
+ * The result must be freed using g_free by the caller.
+ */
+
+BT_HIDDEN
+gchar *ctf_fs_make_port_name(struct ctf_fs_ds_file_group *ds_file_group);
+
 #endif /* BABELTRACE_PLUGIN_CTF_FS_H */
This page took 0.026406 seconds and 4 git commands to generate.