Commit | Line | Data |
---|---|---|
15fe47e0 | 1 | /* |
0235b0db | 2 | * SPDX-License-Identifier: MIT |
15fe47e0 | 3 | * |
0235b0db | 4 | * Copyright 2019 Philippe Proulx <pproulx@efficios.com> |
15fe47e0 PP |
5 | */ |
6 | ||
0235b0db MJ |
7 | #ifndef BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_H |
8 | #define BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_H | |
9 | ||
15fe47e0 | 10 | #include <glib.h> |
c802cacb SM |
11 | |
12 | #include <babeltrace2/babeltrace.h> | |
13 | ||
14 | #include "common/macros.h" | |
15fe47e0 | 15 | |
4164020e SM |
16 | struct fs_sink_comp |
17 | { | |
18 | bt_logging_level log_level; | |
19 | bt_self_component *self_comp; | |
15fe47e0 | 20 | |
4164020e SM |
21 | /* Owned by this */ |
22 | bt_message_iterator *upstream_iter; | |
15fe47e0 | 23 | |
4164020e SM |
24 | /* Base output directory path */ |
25 | GString *output_dir_path; | |
15fe47e0 | 26 | |
4164020e SM |
27 | /* |
28 | * True if the component assumes that it will only write a | |
29 | * single CTF trace (which can contain one or more data | |
30 | * streams). This makes the component write the stream files | |
31 | * directly in the output directory (`output_dir_path` above). | |
32 | */ | |
33 | bool assume_single_trace; | |
491c35cc | 34 | |
4164020e SM |
35 | /* True to completely ignore discarded events messages */ |
36 | bool ignore_discarded_events; | |
491c35cc | 37 | |
4164020e SM |
38 | /* True to completely ignore discarded packets messages */ |
39 | bool ignore_discarded_packets; | |
491c35cc | 40 | |
4164020e SM |
41 | /* |
42 | * True to make the component quiet (nothing printed to the | |
43 | * standard output). | |
44 | */ | |
45 | bool quiet; | |
15fe47e0 | 46 | |
4164020e SM |
47 | /* |
48 | * Hash table of `const bt_trace *` (weak) to | |
49 | * `struct fs_sink_trace *` (owned by hash table). | |
50 | */ | |
51 | GHashTable *traces; | |
15fe47e0 PP |
52 | }; |
53 | ||
4164020e SM |
54 | bt_component_class_initialize_method_status |
55 | ctf_fs_sink_init(bt_self_component_sink *component, bt_self_component_sink_configuration *config, | |
56 | const bt_value *params, void *init_method_data); | |
15fe47e0 | 57 | |
4164020e SM |
58 | bt_component_class_sink_consume_method_status |
59 | ctf_fs_sink_consume(bt_self_component_sink *component); | |
15fe47e0 | 60 | |
4164020e SM |
61 | bt_component_class_sink_graph_is_configured_method_status |
62 | ctf_fs_sink_graph_is_configured(bt_self_component_sink *component); | |
15fe47e0 | 63 | |
15fe47e0 PP |
64 | void ctf_fs_sink_finalize(bt_self_component_sink *component); |
65 | ||
66 | #endif /* BABELTRACE_PLUGIN_CTF_FS_SINK_FS_SINK_H */ |