29#include <unordered_set>
37#define MODNAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyz0123456789_"
106std::map<std::string, ModSpec>
getModsInPath(
const std::string &path,
107 const std::string &virtual_path,
bool part_of_modpack =
false);
110std::vector<ModSpec>
flattenMods(
const std::map<std::string, ModSpec> &mods);
122 void clear()
override;
124 bool contains(
const std::string &name)
const override;
126 bool setString(
const std::string &name, std::string_view var)
override;
130 const std::vector<std::string> &
getKeys(std::vector<std::string> *place)
const override;
133 const std::string *
getStringRaw(
const std::string &name,
134 std::string *place)
const override;
Definition: database.h:89
const std::string * getStringRaw(const std::string &name, std::string *place) const override
Definition: mods.cpp:253
bool contains(const std::string &name) const override
Definition: mods.cpp:226
ModStorageDatabase * m_database
Definition: mods.h:138
const std::string & getModName() const
Definition: mods.h:120
const StringMap & getStrings(StringMap *place) const override
Definition: mods.cpp:239
bool setString(const std::string &name, std::string_view var) override
Definition: mods.cpp:231
std::string m_mod_name
Definition: mods.h:137
void clear() override
Definition: mods.cpp:221
const std::vector< std::string > & getKeys(std::vector< std::string > *place) const override
Definition: mods.cpp:246
std::map< std::string, ModSpec > getModsInPath(const std::string &path, const std::string &virtual_path, bool part_of_modpack=false)
Gets a list of all mods and modpacks in path.
Definition: mods.cpp:163
std::vector< ModSpec > flattenMods(const std::map< std::string, ModSpec > &mods)
Definition: mods.cpp:197
bool parseModContents(ModSpec &mod)
Retrieves depends, optdepends, is_modpack and modpack_content.
Definition: mods.cpp:72
std::unordered_map< std::string, std::string > StringMap
Definition: string.h:78
std::string path
Definition: mods.h:43
bool is_modpack
Definition: mods.h:53
std::unordered_set< std::string > unsatisfied_depends
Definition: mods.h:50
std::vector< const char * > deprecation_msgs
Definition: mods.h:74
std::string desc
Definition: mods.h:44
std::map< std::string, ModSpec > modpack_content
Definition: mods.h:77
ModSpec()
Definition: mods.h:79
int release
Definition: mods.h:45
std::string virtual_path
A constructed canonical path to represent this mod's location.
Definition: mods.h:71
ModSpec(const std::string &name, const std::string &path, bool part_of_modpack, const std::string &virtual_path)
Definition: mods.h:83
void checkAndLog() const
Definition: mods.cpp:34
std::string author
Definition: mods.h:42
bool part_of_modpack
Definition: mods.h:52
std::unordered_set< std::string > optdepends
Definition: mods.h:49
std::string name
Definition: mods.h:41
std::unordered_set< std::string > depends
Definition: mods.h:48