89 lines
1.8 KiB
C++
89 lines
1.8 KiB
C++
#ifndef BASICEVENTS_H
|
|
#define BASICEVENTS_H
|
|
|
|
#include "Event.h"
|
|
|
|
namespace Archimedes {
|
|
|
|
class Module;
|
|
|
|
class AnonymousEvent : public Event {
|
|
|
|
public:
|
|
|
|
AnonymousEvent() {}
|
|
|
|
AnonymousEvent(std::any data) : Event(data) {}
|
|
|
|
~AnonymousEvent() {}
|
|
|
|
operator std::string() const override { return "AnonymousEvent"; }
|
|
|
|
};
|
|
|
|
class LoadModuleEvent : public Event {
|
|
|
|
public:
|
|
|
|
LoadModuleEvent() {}
|
|
|
|
LoadModuleEvent(std::string n) : module(n) {}
|
|
|
|
~LoadModuleEvent() {}
|
|
|
|
operator std::string() const override { return "LoadModuleEvent"; }
|
|
|
|
std::string module;
|
|
|
|
};
|
|
|
|
class DoLoadModuleEvent : public Event {
|
|
|
|
public:
|
|
|
|
DoLoadModuleEvent() {}
|
|
|
|
DoLoadModuleEvent(std::variant<std::string, Module*> n) : module(n) {}
|
|
|
|
~DoLoadModuleEvent() {}
|
|
|
|
operator std::string() const override { return "DoLoadModuleEvent"; }
|
|
|
|
std::variant<std::string, Module*> module;
|
|
|
|
};
|
|
|
|
class UnloadModuleEvent : public Event {
|
|
|
|
public:
|
|
|
|
UnloadModuleEvent() {}
|
|
|
|
UnloadModuleEvent(std::string n) : module(n) {}
|
|
|
|
~UnloadModuleEvent() {}
|
|
|
|
operator std::string() const override { return "UnloadModuleEvent"; }
|
|
|
|
std::string module;
|
|
};
|
|
|
|
class DoUnloadModuleEvent : public Event {
|
|
|
|
public:
|
|
|
|
DoUnloadModuleEvent() {}
|
|
|
|
DoUnloadModuleEvent(std::string n) : module(n) {}
|
|
|
|
~DoUnloadModuleEvent() {}
|
|
|
|
operator std::string() const override { return "DoUnloadModuleEvent"; }
|
|
|
|
std::string module;
|
|
|
|
};
|
|
}
|
|
|
|
#endif
|