Minetest  5.4.0
ModConfiguration Class Reference

#include <mods.h>

+ Inheritance diagram for ModConfiguration:
+ Collaboration diagram for ModConfiguration:

Public Member Functions

bool isConsistent () const
 
const std::vector< ModSpec > & getMods () const
 
const std::vector< ModSpec > & getUnsatisfiedMods () const
 
void printUnsatisfiedModsError () const
 

Protected Member Functions

 ModConfiguration (const std::string &worldpath)
 
void addModsInPath (const std::string &path)
 
void addMods (const std::vector< ModSpec > &new_mods)
 
void addModsFromConfig (const std::string &settings_path, const std::set< std::string > &mods)
 
void checkConflictsAndDeps ()
 

Protected Attributes

std::vector< ModSpecm_sorted_mods
 

Private Member Functions

void resolveDependencies ()
 
 ModConfiguration ()=default
 

Private Attributes

std::vector< ModSpecm_unsatisfied_mods
 
std::unordered_set< std::string > m_name_conflicts
 

Constructor & Destructor Documentation

◆ ModConfiguration() [1/2]

ModConfiguration::ModConfiguration ( const std::string &  worldpath)
protected

◆ ModConfiguration() [2/2]

ModConfiguration::ModConfiguration ( )
privatedefault

Member Function Documentation

◆ addMods()

void ModConfiguration::addMods ( const std::vector< ModSpec > &  new_mods)
protected

References m_name_conflicts, m_unsatisfied_mods, ModSpec::path, and warningstream.

Referenced by addModsFromConfig(), and addModsInPath().

+ Here is the caller graph for this function:

◆ addModsFromConfig()

void ModConfiguration::addModsFromConfig ( const std::string &  settings_path,
const std::set< std::string > &  mods 
)
protected

References addMods(), checkConflictsAndDeps(), errorstream, flattenMods(), Settings::get(), getModsInPath(), Settings::getNames(), getUnsatisfiedMods(), ModSpec::name, Settings::readConfigFile(), Settings::setBool(), and Settings::updateConfigFile().

Referenced by ClientModConfiguration::ClientModConfiguration(), and ServerModManager::ServerModManager().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addModsInPath()

void ModConfiguration::addModsInPath ( const std::string &  path)
protected

References addMods(), flattenMods(), and getModsInPath().

Referenced by ServerModManager::ServerModManager().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkConflictsAndDeps()

void ModConfiguration::checkConflictsAndDeps ( )
protected

References m_name_conflicts, and resolveDependencies().

Referenced by addModsFromConfig().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMods()

const std::vector<ModSpec>& ModConfiguration::getMods ( ) const
inline

References m_sorted_mods.

Referenced by Client::loadMods(), TestServerModManager::testGetMods(), and TestServerModManager::testGetModsWrongDir().

+ Here is the caller graph for this function:

◆ getUnsatisfiedMods()

const std::vector<ModSpec>& ModConfiguration::getUnsatisfiedMods ( ) const
inline

References m_unsatisfied_mods.

Referenced by addModsFromConfig(), and TestServerModManager::testUnsatisfiedMods().

+ Here is the caller graph for this function:

◆ isConsistent()

bool ModConfiguration::isConsistent ( ) const
inline

References m_unsatisfied_mods.

Referenced by Client::loadMods(), and TestServerModManager::testIsConsistent().

+ Here is the caller graph for this function:

◆ printUnsatisfiedModsError()

void ModConfiguration::printUnsatisfiedModsError ( ) const

References errorstream, and m_unsatisfied_mods.

Referenced by Client::loadMods().

+ Here is the caller graph for this function:

◆ resolveDependencies()

void ModConfiguration::resolveDependencies ( )
private

References m_sorted_mods, m_unsatisfied_mods, ModSpec::name, and ModSpec::unsatisfied_depends.

Referenced by checkConflictsAndDeps().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_name_conflicts

std::unordered_set<std::string> ModConfiguration::m_name_conflicts
private

Referenced by addMods(), and checkConflictsAndDeps().

◆ m_sorted_mods

◆ m_unsatisfied_mods

std::vector<ModSpec> ModConfiguration::m_unsatisfied_mods
private

The documentation for this class was generated from the following files: