fix: compilation errors

This commit is contained in:
Samsonium
2026-10-03 14:59:43 +03:00
parent 12deed7aee
commit 1a2722da57
2 changed files with 101 additions and 100 deletions
+1 -8
View File
@@ -1,16 +1,9 @@
#include "engine/modules/test1/test1.hpp"
#include <cstdio> #include <cstdio>
#include <engine/core/engine.hpp> #include <engine/core/engine.hpp>
#include <memory>
#include <stdlib.h> #include <stdlib.h>
#include <vector>
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
auto engine = printf("Hello, engine!\n");
std::make_unique<MscEngine>(std::vector<std::shared_ptr<MscEngineModule>>{
std::make_shared<Test1Module>()});
printf("Hello, CMake, %p!\n", &engine);
return 0; return 0;
} }
+100 -92
View File
@@ -1,149 +1,157 @@
#include <cassert> #include <cassert>
#include <string>
#include <cstdint> #include <cstdint>
#include <memory>
#include <stdexcept>
#include <unordered_map>
#include <engine/utils/rev_range.hpp>
#include <engine/core/engine.hpp> #include <engine/core/engine.hpp>
#include <engine/core/engine_module.hpp> #include <engine/core/engine_module.hpp>
#include <engine/utils/rev_range.hpp>
#include <memory>
#include <stdexcept>
#include <string>
#include <unordered_map>
class FirstTestModuleR1 : public MscEngineModule class FirstTestModuleR1 : public MscEngineModule
{ {
public: public:
std::string getName() const override std::string getName() const override { return "first_tmod"; };
{
return "first_tmod";
};
std::uint16_t getRev() const override std::uint16_t getRev() const override { return 1; }
{
return 1;
}
const std::unordered_map<std::string, MscRevisionRange> &getDependencies() const override const std::unordered_map<std::string, MscRevisionRange> &
{ getDependencies() const override
static const std::unordered_map<std::string, MscRevisionRange> deps{}; {
return deps; static const std::unordered_map<std::string, MscRevisionRange> deps{};
} return deps;
}
void onInitialize(IMscEngineModuleAPI &engine) override {} void onInitialize(IMscEngineModuleAPI &engine) override {}
void onStart(IMscEngineModuleAPI &engine) override {}
void onUpdate(IMscEngineModuleAPI &engine,
IMscEngineModuleAPI::clock::duration dt) override
{
}
void onStop(IMscEngineModuleAPI &engine) override {}
void onDestory(IMscEngineModuleAPI &engine) override {}
}; };
class FirstTestModuleR2 : public MscEngineModule class FirstTestModuleR2 : public MscEngineModule
{ {
public: public:
std::string getName() const override std::string getName() const override { return "first_tmod"; };
{
return "first_tmod";
};
std::uint16_t getRev() const override std::uint16_t getRev() const override { return 2; }
{
return 2;
}
const std::unordered_map<std::string, MscRevisionRange> &getDependencies() const override const std::unordered_map<std::string, MscRevisionRange> &
{ getDependencies() const override
static const std::unordered_map<std::string, MscRevisionRange> deps{}; {
return deps; static const std::unordered_map<std::string, MscRevisionRange> deps{};
} return deps;
}
void onInitialize(IMscEngineModuleAPI &engine) override {} void onInitialize(IMscEngineModuleAPI &engine) override {}
void onStart(IMscEngineModuleAPI &engine) override {}
void onUpdate(IMscEngineModuleAPI &engine,
IMscEngineModuleAPI::clock::duration dt) override
{
}
void onStop(IMscEngineModuleAPI &engine) override {}
void onDestory(IMscEngineModuleAPI &engine) override {}
}; };
class SecondTestModuleE1 : public MscEngineModule class SecondTestModuleE1 : public MscEngineModule
{ {
public: public:
std::string getName() const override std::string getName() const override { return "second_tmod"; }
{
return "second_tmod";
}
std::uint16_t getRev() const override std::uint16_t getRev() const override { return 1; }
{
return 1;
}
const std::unordered_map<std::string, MscRevisionRange> &getDependencies() const override const std::unordered_map<std::string, MscRevisionRange> &
{ getDependencies() const override
static const std::unordered_map<std::string, MscRevisionRange> deps{ {
{"first_tmod", MscRevisionRange{1, 1}}}; static const std::unordered_map<std::string, MscRevisionRange> deps{
return deps; {"first_tmod", MscRevisionRange{1, 1}}};
} return deps;
}
void onInitialize(IMscEngineModuleAPI &engine) override {} void onInitialize(IMscEngineModuleAPI &engine) override {}
void onStart(IMscEngineModuleAPI &engine) override {}
void onUpdate(IMscEngineModuleAPI &engine,
IMscEngineModuleAPI::clock::duration dt) override
{
}
void onStop(IMscEngineModuleAPI &engine) override {}
void onDestory(IMscEngineModuleAPI &engine) override {}
}; };
class SecondTestModuleE2 : public MscEngineModule class SecondTestModuleE2 : public MscEngineModule
{ {
public: public:
std::string getName() const override std::string getName() const override { return "second_tmod"; }
{
return "second_tmod";
}
std::uint16_t getRev() const override std::uint16_t getRev() const override { return 1; }
{
return 1;
}
const std::unordered_map<std::string, MscRevisionRange> &getDependencies() const override const std::unordered_map<std::string, MscRevisionRange> &
{ getDependencies() const override
static const std::unordered_map<std::string, MscRevisionRange> deps{ {
{"first_tmod", MscRevisionRange{1, 2}}}; static const std::unordered_map<std::string, MscRevisionRange> deps{
return deps; {"first_tmod", MscRevisionRange{1, 2}}};
} return deps;
}
void onInitialize(IMscEngineModuleAPI &engine) override {} void onInitialize(IMscEngineModuleAPI &engine) override {}
void onStart(IMscEngineModuleAPI &engine) override {}
void onUpdate(IMscEngineModuleAPI &engine,
IMscEngineModuleAPI::clock::duration dt) override
{
}
void onStop(IMscEngineModuleAPI &engine) override {}
void onDestory(IMscEngineModuleAPI &engine) override {}
}; };
void testSatisfiedModules() void testSatisfiedModules()
{ {
MscEngine engine({std::make_shared<FirstTestModuleR1>(), MscEngine engine({std::make_shared<FirstTestModuleR1>(),
std::make_shared<SecondTestModuleE1>()}); std::make_shared<SecondTestModuleE1>()});
} }
void testDuplicatedModules() void testDuplicatedModules()
{ {
try try
{ {
MscEngine engine({ MscEngine engine({
std::make_shared<FirstTestModuleR1>(), std::make_shared<FirstTestModuleR1>(),
std::make_shared<FirstTestModuleR2>(), std::make_shared<FirstTestModuleR2>(),
}); });
assert(false); assert(false);
} }
catch (const std::runtime_error &error) catch (const std::runtime_error &error)
{ {
} }
} }
void testUnsatisfiedModules() void testUnsatisfiedModules()
{ {
try try
{ {
MscEngine engine({std::make_shared<FirstTestModuleR2>(), MscEngine engine({std::make_shared<FirstTestModuleR2>(),
std::make_shared<SecondTestModuleE1>()}); std::make_shared<SecondTestModuleE1>()});
assert(false); assert(false);
} }
catch (const std::runtime_error &error) catch (const std::runtime_error &error)
{ {
} }
} }
void testSatisfiedMultiversionModule() void testSatisfiedMultiversionModule()
{ {
MscEngine engine({std::make_shared<FirstTestModuleR2>(), MscEngine engine({std::make_shared<FirstTestModuleR2>(),
std::make_shared<SecondTestModuleE2>()}); std::make_shared<SecondTestModuleE2>()});
} }
int main() int main()
{ {
testSatisfiedModules(); testSatisfiedModules();
testDuplicatedModules(); testDuplicatedModules();
testUnsatisfiedModules(); testUnsatisfiedModules();
testSatisfiedMultiversionModule(); testSatisfiedMultiversionModule();
return 0; return 0;
} }