flt.lttng-utils.debug-info: adapt debug-info component to API changes
[babeltrace.git] / plugins / lttng-utils / debug-info.h
index 4b765d16ae30c4a72851c782e8be52ac72edb76e..bfdbccc1c22c71ca01ef15655010f0c905b0d07f 100644 (file)
@@ -2,10 +2,11 @@
 #define BABELTRACE_PLUGIN_DEBUG_INFO_H
 
 /*
- * Babeltrace - Debug information Plug-in
+ * Babeltrace - Debug information Plugin
  *
- * Copyright (c) 2015 EfficiOS Inc.
+ * Copyright (c) 2015-2019 EfficiOS Inc.
  * Copyright (c) 2015 Antoine Busque <abusque@efficios.com>
+ * Copyright (c) 2019 Francis Deslauriers francis.deslauriers@efficios.com>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
  * SOFTWARE.
  */
 
-#include <stdbool.h>
 #include <stdint.h>
-#include <stddef.h>
-#include <babeltrace/babeltrace-internal.h>
 #include <babeltrace/babeltrace.h>
+#include <babeltrace/babeltrace-internal.h>
 
 #define VPID_FIELD_NAME                "vpid"
 #define IP_FIELD_NAME          "ip"
-#define BADDR_FIELD_NAME       "baddr"
-#define CRC32_FIELD_NAME       "crc32"
-#define BUILD_ID_FIELD_NAME    "build_id"
-#define FILENAME_FIELD_NAME    "filename"
-#define IS_PIC_FIELD_NAME      "is_pic"
-#define MEMSZ_FIELD_NAME       "memsz"
-#define PATH_FIELD_NAME                "path"
-
-enum debug_info_stream_state {
-       /*
-        * We know the stream exists but we have never received a
-        * stream_begin message for it.
-        */
-       DEBUG_INFO_UNKNOWN_STREAM,
-       /* We know this stream is active (between stream_begin and _end). */
-       DEBUG_INFO_ACTIVE_STREAM,
-       /* We have received a stream_end for this stream. */
-       DEBUG_INFO_COMPLETED_STREAM,
-};
-
-struct debug_info_component {
-       FILE *err;
-       char *arg_debug_info_field_name;
-       const char *arg_debug_dir;
-       bool arg_full_path;
-       const char *arg_target_prefix;
-};
 
-struct debug_info_iterator {
-       struct debug_info_component *debug_info_component;
-       /* Map between bt_trace and struct bt_writer. */
-       GHashTable *trace_map;
-       /* Input iterators associated with this output iterator. */
-       GPtrArray *input_iterator_group;
-       const bt_message *current_message;
-       bt_message_iterator *input_iterator;
-       FILE *err;
-};
-
-struct debug_info_trace {
-       const bt_trace *trace;
-       const bt_trace *writer_trace;
-       struct debug_info_component *debug_info_component;
-       struct debug_info_iterator *debug_it;
-       int static_listener_id;
-       int trace_static;
-       /* Map between reader and writer stream. */
-       GHashTable *stream_map;
-       /* Map between reader and writer stream class. */
-       GHashTable *stream_class_map;
-       /* Map between reader and writer stream class. */
-       GHashTable *packet_map;
-       /* Map between a trace_class and its corresponding debug_info. */
-       GHashTable *trace_debug_map;
-       /* Map between a stream and enum debug_info_stream_state. */
-       GHashTable *stream_states;
-};
+BT_HIDDEN
+bt_self_component_status debug_info_comp_init(
+               bt_self_component_filter *self_comp,
+               const bt_value *params, void *init_method_data);
 
-struct debug_info_source {
-       /* Strings are owned by debug_info_source. */
-       char *func;
-       uint64_t line_no;
-       char *src_path;
-       /* short_src_path points inside src_path, no need to free. */
-       const char *short_src_path;
-       char *bin_path;
-       /* short_bin_path points inside bin_path, no need to free. */
-       const char *short_bin_path;
-       /*
-        * Location within the binary. Either absolute (@0x1234) or
-        * relative (+0x4321).
-        */
-       char *bin_loc;
-};
+BT_HIDDEN
+void debug_info_comp_finalize(bt_self_component_filter *self_comp);
 
 BT_HIDDEN
-struct debug_info *debug_info_create(struct debug_info_component *comp);
+bt_self_message_iterator_status debug_info_msg_iter_init(
+               bt_self_message_iterator *self_msg_iter,
+               bt_self_component_filter *self_comp,
+               bt_self_component_port_output *self_port);
 
 BT_HIDDEN
-void debug_info_destroy(struct debug_info *debug_info);
+bt_self_message_iterator_status debug_info_msg_iter_next(
+               bt_self_message_iterator *self_msg_iter,
+               const bt_message_array_const msgs, uint64_t capacity,
+               uint64_t *count);
 
 BT_HIDDEN
-struct debug_info_source *debug_info_query(struct debug_info *debug_info,
-               int64_t vpid, uint64_t ip);
+bt_bool debug_info_msg_iter_can_seek_beginning(
+               bt_self_message_iterator *message_iterator);
 
 BT_HIDDEN
-void debug_info_handle_event(FILE *err, const bt_event *event,
-               struct debug_info *debug_info);
+bt_self_message_iterator_status debug_info_msg_iter_seek_beginning(
+               bt_self_message_iterator *message_iterator);
 
 BT_HIDDEN
-void debug_info_close_trace(struct debug_info_iterator *debug_it,
-               struct debug_info_trace *di_trace);
+void debug_info_msg_iter_finalize(bt_self_message_iterator *it);
 
 #endif /* BABELTRACE_PLUGIN_DEBUG_INFO_H */
This page took 0.024368 seconds and 4 git commands to generate.