#ifndef CALLBACKMANAGER_H #define CALLBACKMANAGER_H #include #include #include #include "../Interpreter/Instruction.h" struct CallbackManager { std::vector> rom_load_callback; std::vector> reset_callback; std::vector> resume_callback; std::vector> stop_callback; std::vector> step_callback; std::vector> ips_callback; std::vector> reload_callback; template void trigger(const std::vector& callbacks, Args&&... args) { for (const auto& callback : callbacks) { callback(std::forward(args)...); } } }; #endif //CALLBACKMANAGER_H