#ifndef BASICEVENTS_H #define BASICEVENTS_H #include "Event.h" namespace Archimedes { class Module; class LoadModuleEvent : public Event { public: LoadModuleEvent() : Event(nullptr) {} LoadModuleEvent(std::string n) : Event(nullptr), module(n) {} ~LoadModuleEvent() {} operator std::string() const override { return "LoadModuleEvent"; } std::string module; }; class DoLoadModuleEvent : public Event { public: DoLoadModuleEvent() : Event(nullptr) {} DoLoadModuleEvent(std::variant n) : Event(nullptr), module(n) {} ~DoLoadModuleEvent() {} operator std::string() const override { return "DoLoadModuleEvent"; } std::variant module; }; class UnloadModuleEvent : public Event { public: UnloadModuleEvent() : Event(nullptr) {} UnloadModuleEvent(std::string n) : Event(nullptr), module(n) {} ~UnloadModuleEvent() {} operator std::string() const override { return "UnloadModuleEvent"; } std::string module; }; class DoUnloadModuleEvent : public Event { public: DoUnloadModuleEvent() : Event(nullptr) {} DoUnloadModuleEvent(std::string n) : Event(nullptr), module(n) {} ~DoUnloadModuleEvent() {} operator std::string() const override { return "DoUnloadModuleEvent"; } std::string module; }; } #endif