#pragma once #include #include /** * @brief Simple test module for race condition testing * * This module has a version string that gets modified during compilation * to test hot-reload during concurrent compilations. */ class TestModule : public grove::Module { public: void initialize() override; void update(float deltaTime) override; void shutdown() override; const char* getName() const override { return "TestModule"; } std::string getVersion() const { return version_; } int getUpdateCount() const { return updateCount_; } private: std::string version_; int updateCount_ = 0; }; extern "C" { grove::Module* createModule(); void destroyModule(grove::Module* module); }