src.text.dmesg: emit stream activity beginning/end messages
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Fri, 15 Feb 2019 20:14:15 +0000 (15:14 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 3 May 2019 22:19:38 +0000 (18:19 -0400)
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
plugins/text/dmesg/dmesg.c

index c70fd1eb6bd61d3d66a374ad1983fdec8df64ebd..697d1965506a379599ac5a19f72616f19c1f7f5c 100644 (file)
@@ -53,9 +53,11 @@ struct dmesg_msg_iter {
 
        enum {
                STATE_EMIT_STREAM_BEGINNING,
+               STATE_EMIT_STREAM_ACTIVITY_BEGINNING,
                STATE_EMIT_PACKET_BEGINNING,
                STATE_EMIT_EVENT,
                STATE_EMIT_PACKET_END,
+               STATE_EMIT_STREAM_ACTIVITY_END,
                STATE_EMIT_STREAM_END,
                STATE_DONE,
        } state;
@@ -711,6 +713,7 @@ bt_self_message_iterator_status dmesg_msg_iter_next_one(
 
        if (dmesg_msg_iter->tmp_event_msg ||
                        dmesg_msg_iter->state == STATE_EMIT_PACKET_END ||
+                       dmesg_msg_iter->state == STATE_EMIT_STREAM_ACTIVITY_END ||
                        dmesg_msg_iter->state == STATE_EMIT_STREAM_END) {
                goto handle_state;
        }
@@ -775,6 +778,12 @@ handle_state:
                BT_ASSERT(dmesg_msg_iter->tmp_event_msg);
                *msg = bt_message_stream_beginning_create(
                        dmesg_msg_iter->pc_msg_iter, dmesg_comp->stream);
+               dmesg_msg_iter->state = STATE_EMIT_STREAM_ACTIVITY_BEGINNING;
+               break;
+       case STATE_EMIT_STREAM_ACTIVITY_BEGINNING:
+               BT_ASSERT(dmesg_msg_iter->tmp_event_msg);
+               *msg = bt_message_stream_activity_beginning_create(
+                       dmesg_msg_iter->pc_msg_iter, dmesg_comp->stream);
                dmesg_msg_iter->state = STATE_EMIT_PACKET_BEGINNING;
                break;
        case STATE_EMIT_PACKET_BEGINNING:
@@ -791,6 +800,11 @@ handle_state:
        case STATE_EMIT_PACKET_END:
                *msg = bt_message_packet_end_create(
                        dmesg_msg_iter->pc_msg_iter, dmesg_comp->packet);
+               dmesg_msg_iter->state = STATE_EMIT_STREAM_ACTIVITY_END;
+               break;
+       case STATE_EMIT_STREAM_ACTIVITY_END:
+               *msg = bt_message_stream_activity_end_create(
+                       dmesg_msg_iter->pc_msg_iter, dmesg_comp->stream);
                dmesg_msg_iter->state = STATE_EMIT_STREAM_END;
                break;
        case STATE_EMIT_STREAM_END:
This page took 0.024915 seconds and 4 git commands to generate.