component interface small changes
This commit is contained in:
parent
eb99597d0a
commit
102f8a1f88
@ -361,9 +361,9 @@ namespace arxan
|
|||||||
search_and_patch_integrity_checks();
|
search_and_patch_integrity_checks();
|
||||||
}
|
}
|
||||||
|
|
||||||
int priority() override
|
component_priority priority() override
|
||||||
{
|
{
|
||||||
return COMPONENT_MAX_PRIORITY;
|
return component_priority::arxan;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -390,9 +390,9 @@ namespace dvars
|
|||||||
dvar_register_variant_hook.create(0xCEBDD0_b, dvar_register_variant);
|
dvar_register_variant_hook.create(0xCEBDD0_b, dvar_register_variant);
|
||||||
}
|
}
|
||||||
|
|
||||||
int priority() override
|
component_priority priority() override
|
||||||
{
|
{
|
||||||
return COMPONENT_MAX_PRIORITY - 1;
|
return component_priority::dvars;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
enum class component_priority
|
||||||
|
{
|
||||||
|
min = 0,
|
||||||
|
dvars,
|
||||||
|
steam_proxy,
|
||||||
|
arxan,
|
||||||
|
};
|
||||||
|
|
||||||
class component_interface
|
class component_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~component_interface()
|
virtual ~component_interface() = default;
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void post_start()
|
virtual void post_start()
|
||||||
{
|
{
|
||||||
@ -28,13 +34,8 @@ public:
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual bool is_supported()
|
virtual component_priority priority()
|
||||||
{
|
{
|
||||||
return true;
|
return component_priority::min;
|
||||||
}
|
|
||||||
|
|
||||||
virtual int priority()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -92,23 +92,6 @@ void component_loader::pre_destroy()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void component_loader::clean()
|
|
||||||
{
|
|
||||||
auto& components = get_components();
|
|
||||||
for (auto i = components.begin(); i != components.end();)
|
|
||||||
{
|
|
||||||
if (!(*i)->is_supported())
|
|
||||||
{
|
|
||||||
(*i)->pre_destroy();
|
|
||||||
i = components.erase(i);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void component_loader::sort()
|
void component_loader::sort()
|
||||||
{
|
{
|
||||||
auto& components = get_components();
|
auto& components = get_components();
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "component_interface.hpp"
|
#include "component_interface.hpp"
|
||||||
|
|
||||||
#define COMPONENT_MAX_PRIORITY 999
|
|
||||||
|
|
||||||
class component_loader final
|
class component_loader final
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -57,7 +55,6 @@ public:
|
|||||||
static bool post_load();
|
static bool post_load();
|
||||||
static void post_unpack();
|
static void post_unpack();
|
||||||
static void pre_destroy();
|
static void pre_destroy();
|
||||||
static void clean();
|
|
||||||
static void sort();
|
static void sort();
|
||||||
|
|
||||||
static void* load_import(const std::string& library, const std::string& function);
|
static void* load_import(const std::string& library, const std::string& function);
|
||||||
|
@ -119,7 +119,6 @@ int main()
|
|||||||
|
|
||||||
{
|
{
|
||||||
component_loader::sort();
|
component_loader::sort();
|
||||||
component_loader::clean();
|
|
||||||
|
|
||||||
auto premature_shutdown = true;
|
auto premature_shutdown = true;
|
||||||
const auto _ = gsl::finally([&premature_shutdown]()
|
const auto _ = gsl::finally([&premature_shutdown]()
|
||||||
|
Loading…
Reference in New Issue
Block a user