6#include "gtest/gtest.h"
13bool gtk_initialized =
false;
14GLogWriterFunc log_writer_cb =
nullptr;
15GLogLevelFlags fl_received_log_levels =
static_cast<GLogLevelFlags
>(0x0);
17GLogWriterOutput log_writer(GLogLevelFlags log_level,
18 const GLogField* fields,
21 fl_received_log_levels =
22 static_cast<GLogLevelFlags
>(log_level | fl_received_log_levels);
23 if (log_writer_cb ==
nullptr) {
24 return g_log_writer_default(log_level, fields, n_fields,
user_data);
26 GLogWriterOutput result =
27 log_writer_cb(log_level, fields, n_fields,
user_data);
28 if (result != G_LOG_WRITER_HANDLED) {
29 return g_log_writer_default(log_level, fields, n_fields,
user_data);
37 if (!gtk_initialized) {
39 g_log_set_writer_func(log_writer,
nullptr,
nullptr);
40 gtk_initialized =
true;
43 log_writer_cb = writer;
47 fl_received_log_levels =
static_cast<GLogLevelFlags
>(0x0);
51 return fl_received_log_levels;
GLogLevelFlags fl_get_received_gtk_log_levels()
Returns the recorded log levels.
void fl_ensure_gtk_init(GLogWriterFunc writer)
Ensures that GTK has been initialized and starts monitoring logs.
void fl_reset_received_gtk_log_levels()
Resets the recorded log levels.