Babeltrace 2 C API  2.0.3
Open-source trace manipulation framework
message-iterator-class.h
1 #ifndef BABELTRACE2_GRAPH_MESSAGE_ITERATOR_CLASS_H
2 #define BABELTRACE2_GRAPH_MESSAGE_ITERATOR_CLASS_H
3 
4 /*
5  * Copyright (c) 2019 EfficiOS Inc.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in
15  * all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25 
26 #ifndef __BT_IN_BABELTRACE_H
27 # error "Please include <babeltrace2/babeltrace.h> instead."
28 #endif
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 
521 
527 
533 
540 
576  bt_self_message_iterator *self_message_iterator,
577  bt_bool *can_seek_beginning);
578 
589 
595 
601 
608 
647  bt_self_message_iterator *self_message_iterator,
648  int64_t ns_from_origin, bt_bool *can_seek_ns_from_origin);
649 
666 typedef void
668  bt_self_message_iterator *self_message_iterator);
669 
680 
686 
693 
723  bt_self_message_iterator *self_message_iterator,
726 
737 
743 
749 
755 
762 
837  bt_self_message_iterator *self_message_iterator,
838  bt_message_array_const messages, uint64_t capacity,
839  uint64_t *count);
840 
851 
857 
863 
870 
903  bt_self_message_iterator *self_message_iterator);
904 
915 
921 
927 
934 
969  bt_self_message_iterator *self_message_iterator,
970  int64_t ns_from_origin);
971 
996 
1016 
1039  bt_message_iterator_class *message_iterator_class,
1041 
1064  bt_message_iterator_class *message_iterator_class,
1066 
1100  bt_message_iterator_class *message_iterator_class,
1103 
1139  bt_message_iterator_class *message_iterator_class,
1142 
1166  const bt_message_iterator_class *message_iterator_class);
1167 
1184  const bt_message_iterator_class *message_iterator_class);
1185 
1201 #define BT_MESSAGE_ITERATOR_CLASS_PUT_REF_AND_RESET(_message_iterator_class) \
1202  do { \
1203  bt_message_iterator_class_put_ref(_message_iterator_class); \
1204  (_message_iterator_class) = NULL; \
1205  } while (0)
1206 
1233 #define BT_MESSAGE_ITERATOR_CLASS_MOVE_MOVE_REF(_dst, _src) \
1234  do { \
1235  bt_message_iterator_class_put_ref(_dst); \
1236  (_dst) = (_src); \
1237  (_src) = NULL; \
1238  } while (0)
1239 
1244 #ifdef __cplusplus
1245 }
1246 #endif
1247 
1248 #endif /* BABELTRACE2_GRAPH_MESSAGE_ITERATOR_CLASS_H */
User error.
Definition: message-iterator-class.h:606
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:909
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:836
End of iteration.
Definition: message-iterator-class.h:742
Success.
Definition: message-iterator-class.h:850
bt_message const ** bt_message_array_const
Array of constant messages.
Definition: types.h:196
struct bt_self_message_iterator bt_self_message_iterator
Self message iterator.
Definition: types.h:100
Try again.
Definition: message-iterator-class.h:594
Success.
Definition: message-iterator-class.h:736
Success.
Definition: message-iterator-class.h:1014
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:1009
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:674
bt_message_iterator_class_seek_beginning_method_status
Status codes for bt_message_iterator_class_seek_beginning_method.
Definition: message-iterator-class.h:845
Success.
Definition: message-iterator-class.h:588
Out of memory.
Definition: message-iterator-class.h:600
User error.
Definition: message-iterator-class.h:868
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:722
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:914
Try again.
Definition: message-iterator-class.h:856
User error.
Definition: message-iterator-class.h:932
Out of memory.
Definition: message-iterator-class.h:926
Out of memory.
Definition: message-iterator-class.h:685
Try again.
Definition: message-iterator-class.h:748
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:968
Out of memory.
Definition: message-iterator-class.h:754
bt_message_iterator_class_next_method_status
Status codes for bt_message_iterator_class_next_method.
Definition: message-iterator-class.h:731
User error.
Definition: message-iterator-class.h:538
Try again.
Definition: message-iterator-class.h:526
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:515
Out of memory.
Definition: message-iterator-class.h:862
Success.
Definition: message-iterator-class.h:520
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:575
int bt_bool
Babeltrace 2 boolean type.
Definition: types.h:140
Success.
Definition: message-iterator-class.h:679
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:646
struct bt_self_message_iterator_configuration bt_self_message_iterator_configuration
Self message iterator configuration.
Definition: types.h:101
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:667
Out of memory.
Definition: message-iterator-class.h:532
struct bt_message_iterator_class bt_message_iterator_class
Message iterator class.
Definition: types.h:73
struct bt_self_component_port_output bt_self_component_port_output
Self component output port.
Definition: types.h:95
User error.
Definition: message-iterator-class.h:691
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:760
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:583
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:902
Try again.
Definition: message-iterator-class.h:920