diff options
author | bd <bdunaisky@umass.edu> | 2025-04-21 20:00:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-21 20:00:58 +0000 |
commit | d933a0405b7a7dff3cf05839ac99d120cafa4d75 (patch) | |
tree | 43238110a03ce678f1a68b0b4175ae023527b070 /gui/messages.h | |
parent | cdc9d9c6195cf51e2d1ff10ff4f29797d3e51691 (diff) | |
parent | 7cad6f05ebed25557fe6a31bfdf6290c72506868 (diff) |
Merge pull request #57 from bdunahu/bdunahu
Initialize all pipe objects at once, thread safety,
Diffstat (limited to 'gui/messages.h')
-rw-r--r-- | gui/messages.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gui/messages.h b/gui/messages.h new file mode 100644 index 0000000..461c461 --- /dev/null +++ b/gui/messages.h @@ -0,0 +1,71 @@ +// Simulator for the RISC-V[ECTOR] mini-ISA +// Copyright (C) 2025 Siddarth Suresh +// Copyright (C) 2025 bdunahu + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +#ifndef MESSAGES_H +#define MESSAGES_H +#include <string> +#include <vector> + +/** + * Humorous computer speak. + */ +#define RANDOM_MESSAGE(v) (v[std::rand() % v.size()]) + +const std::vector<std::string> waiting = { + "WAITING FOR USER", "IDLE", "BORED", "SLEEPING", + "TAKING A BREAK", "IDLING", "DAYDREAMING", "WAITING FOR INPUT"}; +const std::vector<std::string> running = { + "COMPUTING", "WORKING", "BUSY", "RUNNING"}; +const std::vector<std::string> load_file = { + "FILE LOADED", "FILE PARSED", "FILE READ", "READING... DONE"}; +const std::vector<std::string> no_instructions = { + "NO PROGRAM PROVIDED", "NOTHING TO DO, GIVING UP", "INSTRUCTIONS MISSING", + "404 INSTRUCTIONS NOT FOUND"}; +const std::vector<std::string> bad_cache = { + "WAYS CANNOT BE BELOW 0 OR ABOVE 4"}; +const std::vector<std::string> no_pipeline = { + "SIMULATION READY: NO PIPE", "PIPE OFF, SIMULATION READY"}; +const std::vector<std::string> no_cache = { + "SIMULATION READY: NO CACHE", "CACHE OFF, SIMULATION READY"}; +const std::vector<std::string> initialize = { + "SIMULATION READY", "ALL MODULES LOADED, SIMULATION READY"}; + +/** + * @return an unsolicited status messages + */ +std::string get_waiting() { return RANDOM_MESSAGE(waiting); } +std::string get_running() { return RANDOM_MESSAGE(running); } + +/** + * @return confirmation of file upload + */ +std::string get_load_file() { return RANDOM_MESSAGE(load_file); } + +/** + * @return a friendly reminder that the simulation is not configured yet + */ +std::string get_no_instructions() { return RANDOM_MESSAGE(no_instructions); } +std::string get_bad_cache() { return RANDOM_MESSAGE(bad_cache); } + +/** + * @return unsolicited complaints for successful initialization + */ +std::string get_no_pipeline() { return RANDOM_MESSAGE(no_pipeline); } +std::string get_no_cache() { return RANDOM_MESSAGE(no_cache); } +std::string get_initialize() { return RANDOM_MESSAGE(initialize); } + +#endif // MESSAGES_H |