#pragma once #include #include "./factorio_log_parser.hpp" #include // fwd struct ConfigModelI; class Factorio : public RegistryMessageModelEventI, public FactorioLogParserEventI { Contact3Registry& _cr; RegistryMessageModelI& _rmm; FactorioLogParser& _flp; std::vector _linked_contacts; void sendToLinked(const std::string& message); public: Factorio(ConfigModelI& conf, Contact3Registry& cr, RegistryMessageModelI& rmm, FactorioLogParser& flp); virtual ~Factorio(void); protected: // rmm bool onEvent(const Message::Events::MessageConstruct& e) override; protected: // flp bool onEvent(const FactorioLog::Events::Join&) override; bool onEvent(const FactorioLog::Events::Leave&) override; bool onEvent(const FactorioLog::Events::Chat&) override; bool onEvent(const FactorioLog::Events::Died&) override; bool onEvent(const FactorioLog::Events::Evolution&) override; bool onEvent(const FactorioLog::Events::ResearchStarted&) override; bool onEvent(const FactorioLog::Events::ResearchFinished&) override; bool onEvent(const FactorioLog::Events::ResearchCancelled&) override; };