/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2024-05-16 * Changed: 2024-05-30 * * */ #include #include using ls::std::core::Class; using ls::std::core::NullPointerArgumentEvaluator; using ls::std::event::Event; using ::std::shared_ptr; using ::std::string; Event::Event(const string &_name) : Class(_name) {} Event::~Event() noexcept = default; shared_ptr Event::getManager() const { return this->manager; } void Event::setManager(const shared_ptr &_manager) { NullPointerArgumentEvaluator(_manager).evaluate(); this->manager = _manager; } Event Event::supervisedBy(const shared_ptr &_manager) const { NullPointerArgumentEvaluator(_manager).evaluate(); auto event = Event(this->getClassName()); event.setManager(_manager); return event; }