#define BABELTRACE_GRAPH_NOTIFICATION_NOTIFICATION_INTERNAL_H
/*
- * BabelTrace - Plug-in Notification internal
- *
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
* Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
* SOFTWARE.
*/
-#include <babeltrace/ref-internal.h>
#include <babeltrace/babeltrace-internal.h>
#include <babeltrace/object-internal.h>
+#include <babeltrace/assert-internal.h>
#include <babeltrace/graph/graph.h>
#include <babeltrace/graph/notification.h>
-#include <babeltrace/ctf-ir/stream.h>
+#include <babeltrace/trace-ir/stream.h>
#include <babeltrace/object-pool-internal.h>
#include <babeltrace/types.h>
};
#define BT_ASSERT_PRE_NOTIF_IS_TYPE(_notif, _type) \
- BT_ASSERT_PRE((_notif)->type == (_type), \
+ BT_ASSERT_PRE(((struct bt_notification *) (_notif))->type == (_type), \
"Notification has the wrong type: expected-type=%s, " \
"%![notif-]+n", bt_notification_type_string(_type), \
(_notif))
{
struct bt_notification *notif = bt_object_pool_create_object(pool);
- if (!notif) {
+ if (unlikely(!notif)) {
#ifdef BT_LIB_LOGE
BT_LIB_LOGE("Cannot allocate one notification from notification pool: "
"%![pool-]+o, %![graph-]+g", pool, graph);
goto error;
}
- if (!notif->graph) {
+ if (likely(!notif->graph)) {
notif->graph = graph;
}
goto end;
error:
- BT_PUT(notif);
+ BT_ASSERT(!notif);
end:
return notif;
const char *bt_notification_type_string(enum bt_notification_type type)
{
switch (type) {
- case BT_NOTIFICATION_TYPE_UNKNOWN:
- return "BT_NOTIFICATION_TYPE_UNKNOWN";
case BT_NOTIFICATION_TYPE_EVENT:
return "BT_NOTIFICATION_TYPE_EVENT";
case BT_NOTIFICATION_TYPE_INACTIVITY:
return "BT_NOTIFICATION_TYPE_PACKET_BEGIN";
case BT_NOTIFICATION_TYPE_PACKET_END:
return "BT_NOTIFICATION_TYPE_PACKET_END";
- case BT_NOTIFICATION_TYPE_DISCARDED_EVENTS:
- return "BT_NOTIFICATION_TYPE_DISCARDED_EVENTS";
- case BT_NOTIFICATION_TYPE_DISCARDED_PACKETS:
- return "BT_NOTIFICATION_TYPE_DISCARDED_PACKETS";
default:
return "(unknown)";
}