Babeltrace 2 C API  2.1.0
Open-source trace manipulation framework
message-iterator-class.h
1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
5  */
6 
7 #ifndef BABELTRACE2_GRAPH_MESSAGE_ITERATOR_CLASS_H
8 #define BABELTRACE2_GRAPH_MESSAGE_ITERATOR_CLASS_H
9 
10 /* IWYU pragma: private, include <babeltrace2/babeltrace.h> */
11 
12 #ifndef __BT_IN_BABELTRACE_H
13 # error "Please include <babeltrace2/babeltrace.h> instead."
14 #endif
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
508 
514 
520 
527 
563  bt_self_message_iterator *self_message_iterator,
564  bt_bool *can_seek_beginning);
565 
576 
582 
588 
595 
634  bt_self_message_iterator *self_message_iterator,
635  int64_t ns_from_origin, bt_bool *can_seek_ns_from_origin);
636 
653 typedef void
655  bt_self_message_iterator *self_message_iterator);
656 
667 
673 
680 
710  bt_self_message_iterator *self_message_iterator,
713 
724 
730 
736 
742 
749 
824  bt_self_message_iterator *self_message_iterator,
825  bt_message_array_const messages, uint64_t capacity,
826  uint64_t *count);
827 
838 
844 
850 
857 
890  bt_self_message_iterator *self_message_iterator);
891 
902 
908 
914 
921 
956  bt_self_message_iterator *self_message_iterator,
957  int64_t ns_from_origin);
958 
983  __BT_NOEXCEPT;
984 
1004 
1027  bt_message_iterator_class *message_iterator_class,
1028  bt_message_iterator_class_finalize_method method) __BT_NOEXCEPT;
1029 
1052  bt_message_iterator_class *message_iterator_class,
1054  __BT_NOEXCEPT;
1055 
1089  bt_message_iterator_class *message_iterator_class,
1092  __BT_NOEXCEPT;
1093 
1129  bt_message_iterator_class *message_iterator_class,
1132  __BT_NOEXCEPT;
1133 
1157  const bt_message_iterator_class *message_iterator_class)
1158  __BT_NOEXCEPT;
1159 
1176  const bt_message_iterator_class *message_iterator_class)
1177  __BT_NOEXCEPT;
1178 
1194 #define BT_MESSAGE_ITERATOR_CLASS_PUT_REF_AND_RESET(_message_iterator_class) \
1195  do { \
1196  bt_message_iterator_class_put_ref(_message_iterator_class); \
1197  (_message_iterator_class) = NULL; \
1198  } while (0)
1199 
1226 #define BT_MESSAGE_ITERATOR_CLASS_MOVE_MOVE_REF(_dst, _src) \
1227  do { \
1228  bt_message_iterator_class_put_ref(_dst); \
1229  (_dst) = (_src); \
1230  (_src) = NULL; \
1231  } while (0)
1232 
1237 #ifdef __cplusplus
1238 }
1239 #endif
1240 
1241 #endif /* BABELTRACE2_GRAPH_MESSAGE_ITERATOR_CLASS_H */
User error.
Definition: message-iterator-class.h:593
bt_message_iterator_class_set_method_status bt_message_iterator_class_set_seek_beginning_methods(bt_message_iterator_class *message_iterator_class, bt_message_iterator_class_seek_beginning_method seek_method, bt_message_iterator_class_can_seek_beginning_method can_seek_method)
Sets the optional "seek beginning" and "can seek beginning?" methods of the message iterator class me...
bt_message_iterator_class_seek_ns_from_origin_method_status
Status codes for bt_message_iterator_class_seek_ns_from_origin_method.
Definition: message-iterator-class.h:896
bt_message_iterator_class_next_method_status(* bt_message_iterator_class_next_method)(bt_self_message_iterator *self_message_iterator, bt_message_array_const messages, uint64_t capacity, uint64_t *count)
Message iterator "next" (get next messages) method.
Definition: message-iterator-class.h:823
End of iteration.
Definition: message-iterator-class.h:729
Success.
Definition: message-iterator-class.h:837
bt_message const ** bt_message_array_const
Array of constant messages.
Definition: types.h:182
struct bt_self_message_iterator bt_self_message_iterator
Self message iterator.
Definition: types.h:86
Try again.
Definition: message-iterator-class.h:581
Success.
Definition: message-iterator-class.h:723
Success.
Definition: message-iterator-class.h:1002
bt_message_iterator_class_set_method_status bt_message_iterator_class_set_finalize_method(bt_message_iterator_class *message_iterator_class, bt_message_iterator_class_finalize_method method)
Sets the optional finalization method of the message iterator class message_iterator_class to method...
bt_message_iterator_class_set_method_status
Status code for the bt_message_iterator_class_set_*_method() functions.
Definition: message-iterator-class.h:997
bt_message_iterator_class_set_method_status bt_message_iterator_class_set_seek_ns_from_origin_methods(bt_message_iterator_class *message_iterator_class, bt_message_iterator_class_seek_ns_from_origin_method seek_method, bt_message_iterator_class_can_seek_ns_from_origin_method can_seek_method)
Sets the optional "seek ns from origin" and "can seek ns from origin?" methods of the message iterato...
bt_message_iterator_class_initialize_method_status
Status codes for bt_message_iterator_class_initialize_method.
Definition: message-iterator-class.h:661
bt_message_iterator_class_seek_beginning_method_status
Status codes for bt_message_iterator_class_seek_beginning_method.
Definition: message-iterator-class.h:832
Success.
Definition: message-iterator-class.h:575
Out of memory.
Definition: message-iterator-class.h:587
User error.
Definition: message-iterator-class.h:855
bt_message_iterator_class_initialize_method_status(* bt_message_iterator_class_initialize_method)(bt_self_message_iterator *self_message_iterator, bt_self_message_iterator_configuration *configuration, bt_self_component_port_output *port)
Message iterator initialization method.
Definition: message-iterator-class.h:709
void bt_message_iterator_class_get_ref(const bt_message_iterator_class *message_iterator_class)
Increments the reference count of the message iterator class message_iterator_class.
Success.
Definition: message-iterator-class.h:901
Try again.
Definition: message-iterator-class.h:843
User error.
Definition: message-iterator-class.h:919
Out of memory.
Definition: message-iterator-class.h:913
Out of memory.
Definition: message-iterator-class.h:672
Try again.
Definition: message-iterator-class.h:735
bt_message_iterator_class_seek_ns_from_origin_method_status(* bt_message_iterator_class_seek_ns_from_origin_method)(bt_self_message_iterator *self_message_iterator, int64_t ns_from_origin)
Message iterator "seek ns from origin" method.
Definition: message-iterator-class.h:955
Out of memory.
Definition: message-iterator-class.h:741
bt_message_iterator_class_next_method_status
Status codes for bt_message_iterator_class_next_method.
Definition: message-iterator-class.h:718
User error.
Definition: message-iterator-class.h:525
Try again.
Definition: message-iterator-class.h:513
bt_message_iterator_class_can_seek_beginning_method_status
Status codes for bt_message_iterator_class_can_seek_beginning_method.
Definition: message-iterator-class.h:502
Out of memory.
Definition: message-iterator-class.h:849
Success.
Definition: message-iterator-class.h:507
bt_message_iterator_class_can_seek_beginning_method_status(* bt_message_iterator_class_can_seek_beginning_method)(bt_self_message_iterator *self_message_iterator, bt_bool *can_seek_beginning)
Message iterator "can seek beginning?" method.
Definition: message-iterator-class.h:562
int bt_bool
Babeltrace 2 boolean type.
Definition: types.h:126
Success.
Definition: message-iterator-class.h:666
bt_message_iterator_class_set_method_status bt_message_iterator_class_set_initialize_method(bt_message_iterator_class *message_iterator_class, bt_message_iterator_class_initialize_method method)
Sets the optional initialization method of the message iterator class message_iterator_class to metho...
bt_message_iterator_class_can_seek_ns_from_origin_method_status(* bt_message_iterator_class_can_seek_ns_from_origin_method)(bt_self_message_iterator *self_message_iterator, int64_t ns_from_origin, bt_bool *can_seek_ns_from_origin)
Message iterator "can seek ns from origin?" method.
Definition: message-iterator-class.h:633
struct bt_self_message_iterator_configuration bt_self_message_iterator_configuration
Self message iterator configuration.
Definition: types.h:87
bt_message_iterator_class * bt_message_iterator_class_create(bt_message_iterator_class_next_method next_method)
Creates a message iterator class having the "next" method method next_method.
void(* bt_message_iterator_class_finalize_method)(bt_self_message_iterator *self_message_iterator)
Message iterator finalization method.
Definition: message-iterator-class.h:654
Out of memory.
Definition: message-iterator-class.h:519
struct bt_message_iterator_class bt_message_iterator_class
Message iterator class.
Definition: types.h:60
struct bt_self_component_port_output bt_self_component_port_output
Self component output port.
Definition: types.h:81
User error.
Definition: message-iterator-class.h:678
void bt_message_iterator_class_put_ref(const bt_message_iterator_class *message_iterator_class)
Decrements the reference count of the message iterator class message_iterator_class.
User error.
Definition: message-iterator-class.h:747
bt_message_iterator_class_can_seek_ns_from_origin_method_status
Status codes for bt_message_iterator_class_can_seek_ns_from_origin_method.
Definition: message-iterator-class.h:570
bt_message_iterator_class_seek_beginning_method_status(* bt_message_iterator_class_seek_beginning_method)(bt_self_message_iterator *self_message_iterator)
Message iterator "seek beginning" method.
Definition: message-iterator-class.h:889
Try again.
Definition: message-iterator-class.h:907