9#ifndef STATUS_OUTPUT_HPP
10#define STATUS_OUTPUT_HPP
75 static void update_status_window();
76 static void status_updater();
78 static std::mutex log_mutex;
79 static std::mutex error_mutex;
80 static std::mutex status_mutex;
82 static std::vector<std::string> log_messages;
83 static std::vector<std::string> error_messages;
84 static std::string current_status;
86 static std::atomic<bool> running;
87 static std::atomic<bool> ncurses_initialized;
88 static std::thread updater_thread;
90 static WINDOW* log_win;
91 static WINDOW* error_win;
92 static WINDOW* status_win;
A thread-safe logging and status output system using ncurses.
Definition status_output.hpp:32
static void shutdown_ncurses()
Shuts down the ncurses interface.
Definition status_output.cpp:54
static void add_status_output(const std::string &message)
Adds a message to the simulation output log.
Definition status_output.cpp:61
static void start_status_updater_thread()
Starts the background thread that periodically updates the status display.
Definition status_output.cpp:131
static void add_error_message(const std::string &error)
Adds an error message to the error log.
Definition status_output.cpp:72
static void initialize_ncurses()
Initializes the ncurses interface.
Definition status_output.cpp:28
static void stop_status_updater_thread()
Stops the background status updater thread.
Definition status_output.cpp:138