VoltMod
C++23 framework for CS2 server plugins
Loading...
Searching...
No Matches
VoltMod::PluginDependencies Namespace Reference

Functions

LoadList Resolve (std::span< const PluginManifest > installed)
 Decide which of installed the host loads.
 
std::vector< std::string > RequiredDependents (std::string_view plugin, std::span< const PluginManifest > loaded)
 

Detailed Description

Pure: no files, logs or SDK.

Function Documentation

◆ RequiredDependents()

std::vector< std::string > VoltMod::PluginDependencies::RequiredDependents ( std::string_view  plugin,
std::span< const PluginManifest >  loaded 
)

The plugins in loaded that require plugin, directly or transitively; what volt unload refuses for and volt reload takes down with it. Alphabetical.

Definition at line 93 of file PluginDependencies.cpp.

References VoltMod::ReadFile().

◆ Resolve()

LoadList VoltMod::PluginDependencies::Resolve ( std::span< const PluginManifest >  installed)

Decide which of installed the host loads.

A missing or refused required dependency refuses its dependents transitively; optional ones never refuse. Load order is alphabetical and carries no meaning: plugins reach each other through VoltMod::ServiceExchange at call time.

Definition at line 61 of file PluginDependencies.cpp.

References VoltMod::Error::Invalid(), VoltMod::ReadFile(), VoltMod::RefuseUnsatisfied(), and VoltMod::LoadList::ToLoad.