Babeltrace 2 C API  2.0.4
Open-source trace manipulation framework
event-class.h
1 #ifndef BABELTRACE2_TRACE_IR_EVENT_CLASS_H
2 #define BABELTRACE2_TRACE_IR_EVENT_CLASS_H
3 
4 /*
5  * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
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 #include <stdint.h>
31 
32 #include <babeltrace2/types.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
276  bt_stream_class *stream_class);
277 
349  bt_stream_class *stream_class, uint64_t id);
350 
375  bt_event_class *event_class);
376 
385  const bt_event_class *event_class);
386 
412 extern uint64_t bt_event_class_get_id(const bt_event_class *event_class);
413 
423  BT_EVENT_CLASS_SET_NAME_STATUS_OK = __BT_FUNC_STATUS_OK,
424 
429  BT_EVENT_CLASS_SET_NAME_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR,
431 
457  bt_event_class *event_class, const char *name);
458 
483 extern const char *bt_event_class_get_name(const bt_event_class *event_class);
484 
495 
501 
507 
513 
519 
525 
531 
538 
545 
552 
559 
566 
572 
578 
585 
604 extern void bt_event_class_set_log_level(bt_event_class *event_class,
605  bt_event_class_log_level log_level);
606 
632  const bt_event_class *event_class,
633  bt_event_class_log_level *log_level);
634 
645 
650  BT_EVENT_CLASS_SET_EMF_URI_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR,
652 
678  bt_event_class *event_class, const char *emf_uri);
679 
705 extern const char *bt_event_class_get_emf_uri(
706  const bt_event_class *event_class);
707 
719 
724  BT_EVENT_CLASS_SET_FIELD_CLASS_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR,
726 
768  bt_field_class *field_class);
769 
794  bt_event_class *event_class);
795 
804  const bt_event_class *event_class);
805 
848  bt_field_class *field_class);
849 
875 extern bt_field_class *
877 
885 extern const bt_field_class *
887  const bt_event_class *event_class);
888 
918  bt_event_class *event_class, const bt_value *user_attributes);
919 
945  bt_event_class *event_class);
946 
955  const bt_event_class *event_class);
956 
979 extern void bt_event_class_get_ref(const bt_event_class *event_class);
980 
996 extern void bt_event_class_put_ref(const bt_event_class *event_class);
997 
1012 #define BT_EVENT_CLASS_PUT_REF_AND_RESET(_event_class) \
1013  do { \
1014  bt_event_class_put_ref(_event_class); \
1015  (_event_class) = NULL; \
1016  } while (0)
1017 
1043 #define BT_EVENT_CLASS_MOVE_REF(_dst, _src) \
1044  do { \
1045  bt_event_class_put_ref(_dst); \
1046  (_dst) = (_src); \
1047  (_src) = NULL; \
1048  } while (0)
1049 
1054 #ifdef __cplusplus
1055 }
1056 #endif
1057 
1058 #endif /* BABELTRACE2_TRACE_IR_EVENT_CLASS_H */
bt_value * bt_event_class_borrow_user_attributes(bt_event_class *event_class)
Borrows the user attributes of the event class event_class.
const bt_field_class * bt_event_class_borrow_specific_context_field_class_const(const bt_event_class *event_class)
Borrows the specific context field class from the event class event_class (const version).
void bt_event_class_get_ref(const bt_event_class *event_class)
Increments the reference count of the event class event_class.
Debugging-level message.
Definition: event-class.h:583
Warning conditions.
Definition: event-class.h:518
Out of memory.
Definition: event-class.h:724
Debugging information with function-level scope.
Definition: event-class.h:577
Critical conditions.
Definition: event-class.h:506
bt_event_class * bt_event_class_create_with_id(bt_stream_class *stream_class, uint64_t id)
Creates a default event class with the numeric ID id and adds it to the stream class stream_class...
void bt_event_class_set_log_level(bt_event_class *event_class, bt_event_class_log_level log_level)
Sets the log level of the event class event_class to log_level.
bt_event_class_set_field_class_status
Status codes for bt_event_class_set_payload_field_class() and bt_event_class_set_specific_context_fie...
Definition: event-class.h:713
bt_event_class_set_name_status
Status codes for bt_event_class_set_name().
Definition: event-class.h:418
bt_property_availability bt_event_class_get_log_level(const bt_event_class *event_class, bt_event_class_log_level *log_level)
Returns the log level of the event class event_class.
bt_event_class_set_emf_uri_status bt_event_class_set_emf_uri(bt_event_class *event_class, const char *emf_uri)
Sets the Eclipse Modeling Framework (EMF) URI of the event class event_class to a copy of emf_uri...
Debugging information with program-level scope (set of processes).
Definition: event-class.h:544
uint64_t bt_event_class_get_id(const bt_event_class *event_class)
Returns the numeric ID of the event class event_class.
bt_event_class_set_field_class_status bt_event_class_set_payload_field_class(bt_event_class *event_class, bt_field_class *field_class)
Sets the payload field class of the event class event_class to field_class.
Success.
Definition: event-class.h:423
struct bt_field_class bt_field_class
Field class.
Definition: types.h:54
bt_property_availability
Availability of an object's property.
Definition: types.h:173
Success.
Definition: event-class.h:644
const char * bt_event_class_get_name(const bt_event_class *event_class)
Returns the name of the event class event_class.
Normal, but significant, condition.
Definition: event-class.h:524
Error conditions.
Definition: event-class.h:512
const bt_value * bt_event_class_borrow_user_attributes_const(const bt_event_class *event_class)
Borrows the user attributes of the event class event_class (const version).
const bt_stream_class * bt_event_class_borrow_stream_class_const(const bt_event_class *event_class)
Borrows the stream class which contains the event class event_class (const version).
struct bt_value bt_value
Value.
Definition: types.h:107
struct bt_event_class bt_event_class
Event class.
Definition: types.h:51
Informational message.
Definition: event-class.h:530
bt_field_class * bt_event_class_borrow_payload_field_class(bt_event_class *event_class)
Borrows the payload field class from the event class event_class.
bt_event_class * bt_event_class_create(bt_stream_class *stream_class)
Creates a default event class and adds it to the stream class stream_class.
void bt_event_class_put_ref(const bt_event_class *event_class)
Decrements the reference count of the event class event_class.
Action must be taken immediately.
Definition: event-class.h:500
bt_field_class * bt_event_class_borrow_specific_context_field_class(bt_event_class *event_class)
Borrows the specific context field class from the event class event_class.
bt_stream_class * bt_event_class_borrow_stream_class(bt_event_class *event_class)
Borrows the stream class which contains the event class event_class.
Out of memory.
Definition: event-class.h:429
Success.
Definition: event-class.h:718
Debugging information with function-level scope.
Definition: event-class.h:571
const bt_field_class * bt_event_class_borrow_payload_field_class_const(const bt_event_class *event_class)
Borrows the payload field class from the event class event_class (const version). ...
Debugging information with process-level scope (set of modules).
Definition: event-class.h:551
void bt_event_class_set_user_attributes(bt_event_class *event_class, const bt_value *user_attributes)
Sets the user attributes of the event class event_class to user_attributes.
const char * bt_event_class_get_emf_uri(const bt_event_class *event_class)
Returns the Eclipse Modeling Framework (EMF) URI of the event class event_class.
bt_event_class_set_emf_uri_status
Status codes for bt_event_class_set_emf_uri().
Definition: event-class.h:639
Debugging information with module (executable/library) scope (set of units).
Definition: event-class.h:558
bt_event_class_set_field_class_status bt_event_class_set_specific_context_field_class(bt_event_class *event_class, bt_field_class *field_class)
Sets the specific context field class of the event class event_class to field_class.
Debugging information with compilation unit scope (set of functions).
Definition: event-class.h:565
bt_event_class_log_level
Event class log level enumerators.
Definition: event-class.h:489
bt_event_class_set_name_status bt_event_class_set_name(bt_event_class *event_class, const char *name)
Sets the name of the event class event_class to a copy of name.
struct bt_stream_class bt_stream_class
Stream class.
Definition: types.h:104
System is unusable.
Definition: event-class.h:494
Debugging information with system-level scope (set of programs).
Definition: event-class.h:537
Out of memory.
Definition: event-class.h:650