1 #include <babeltrace/plugin/plugin-lib.h>
2 #include <babeltrace/plugin/plugin-system.h>
6 const char *plugin_name
= "ctf";
12 enum bt_plugin_type
bt_plugin_lib_get_type(void)
14 return BT_PLUGIN_TYPE_SOURCE
;
17 const char *bt_plugin_lib_get_format_name(void)
23 void ctf_reader_destroy(struct bt_plugin
*plugin
)
25 struct ctf_reader
*reader
;
31 reader
= bt_plugin_get_private_data(plugin
);
40 struct bt_notification_iterator
*ctf_reader_iterator_create(
41 struct bt_plugin
*plugin
)
46 /* Move this to bt_plugin */
48 enum bt_plugin_status
ctf_reader_set_error_stream(
49 struct bt_plugin
*plugin
, FILE *stream
)
51 struct ctf_reader
*reader
;
52 enum bt_plugin_status ret
= BT_PLUGIN_STATUS_OK
;
55 ret
= BT_PLUGIN_STATUS_INVAL
;
59 reader
= bt_plugin_get_private_data(plugin
);
61 ret
= BT_PLUGIN_STATUS_ERROR
;
65 reader
->stream
= stream
;
70 struct bt_plugin
*bt_plugin_lib_create(struct bt_object
*params
)
72 enum bt_plugin_status ret
;
73 struct bt_plugin
*plugin
= NULL
;
74 struct ctf_reader
*reader
= g_new0(struct ctf_reader
, 1);
80 plugin
= bt_plugin_source_create(plugin_name
, reader
,
81 ctf_reader_destroy
, ctf_reader_iterator_create
);
87 ret
= bt_plugin_set_error_stream_cb(plugin
,
88 ctf_reader_set_error_stream
);
89 if (ret
!= BT_PLUGIN_STATUS_OK
) {
96 ctf_reader_destroy(reader
);
99 bt_plugin_put(plugin
);