Limo
A simple mod manager
Loading...
Searching...
No Matches
DeployerFactory Class Reference

Static Public Member Functions

static std::unique_ptr< DeployermakeDeployer (const std::string &type, const std::filesystem::path &source_path, const std::filesystem::path &dest_path, const std::string &name, Deployer::DeployMode deploy_mode=Deployer::hard_link, bool separate_profile_dirs=false, bool update_ignore_list=false)
 Constructs a unique pointer to a new deployer of given type.
 

Static Public Attributes

static const std::string SIMPLEDEPLOYER { "Simple Deployer" }
 Performs no additional actions.
 
static const std::string CASEMATCHINGDEPLOYER { "Case Matching Deployer" }
 Uses case insensitive string matching when comparing mod file names with target file names.
 
static const std::string LOOTDEPLOYER { "Loot Deployer" }
 Manages Bethesda plugin files using LOOT.
 
static const std::string REVERSEDEPLOYER { "Reverse Deployer" }
 Moves all files not from a mod out of the target directory and links them back in.
 
static const std::string OPENMWPLUGINDEPLOYER { "OpenMW Plugin Deployer" }
 Manages archive files for OpenMW.
 
static const std::string OPENMWARCHIVEDEPLOYER { "OpenMW Archive Deployer" }
 Manages plugin files for OpenMW.
 
static const std::string BG3DEPLOYER { "Baldurs Gate 3 Deployer" }
 Manages plugin files for Baldurs Gate 3.
 
static const std::vector< std::string > DEPLOYER_TYPES
 Returns a vector of available deployer types.
 
static const std::map< std::string, std::string > DEPLOYER_DESCRIPTIONS
 Maps deployer types to a description of what they do.
 
static const std::map< std::string, bool > AUTONOMOUS_DEPLOYERS
 Maps deployer types to a bool indicating if the type refers to an autonomous deployer.
 

Member Function Documentation

◆ makeDeployer()

std::unique_ptr< Deployer > DeployerFactory::makeDeployer ( const std::string & type,
const std::filesystem::path & source_path,
const std::filesystem::path & dest_path,
const std::string & name,
Deployer::DeployMode deploy_mode = Deployer::hard_link,
bool separate_profile_dirs = false,
bool update_ignore_list = false )
static

Constructs a unique pointer to a new deployer of given type.

Parameters
typeDeployer type to be constructed.
source_pathPath to directory containing mods installed using the Installer class.
dest_pathPath to target directory for mod deployment.
nameA custom name for this instance.
deploy_modeDetermines how files are deployed to the target directory
separate_profile_dirsUsed by ReverseDeployers: If true: Store files on a per profile basis. Else: All profiles use the same files.
update_ignore_listUsed by ReverseDeployers: If true: Add all files in target_dir not managed by another deployer to the ignore list.
Returns
The constructed unique pointer.

Member Data Documentation

◆ AUTONOMOUS_DEPLOYERS

const std::map<std::string, bool> DeployerFactory::AUTONOMOUS_DEPLOYERS
inlinestatic
Initial value:
{ { SIMPLEDEPLOYER, false },
false },
{ LOOTDEPLOYER, true },
{ REVERSEDEPLOYER, true },
{ BG3DEPLOYER, true } }
static const std::string CASEMATCHINGDEPLOYER
Uses case insensitive string matching when comparing mod file names with target file names.
Definition deployerfactory.h:17
static const std::string BG3DEPLOYER
Manages plugin files for Baldurs Gate 3.
Definition deployerfactory.h:27
static const std::string OPENMWARCHIVEDEPLOYER
Manages plugin files for OpenMW.
Definition deployerfactory.h:25
static const std::string LOOTDEPLOYER
Manages Bethesda plugin files using LOOT.
Definition deployerfactory.h:19
static const std::string OPENMWPLUGINDEPLOYER
Manages archive files for OpenMW.
Definition deployerfactory.h:23
static const std::string REVERSEDEPLOYER
Moves all files not from a mod out of the target directory and links them back in.
Definition deployerfactory.h:21
static const std::string SIMPLEDEPLOYER
Performs no additional actions.
Definition deployerfactory.h:12

Maps deployer types to a bool indicating if the type refers to an autonomous deployer.

◆ DEPLOYER_DESCRIPTIONS

const std::map<std::string, std::string> DeployerFactory::DEPLOYER_DESCRIPTIONS
inlinestatic
Initial value:
{
"Links/ copies all files from enabled mods in its loadorder into "
"target directory. Backs up and restores existing files when needed." },
"When the target directory contains a file with the same name "
"but different case as a mods file name, renames the mods name to "
"match the target file. Then deploys as normal." },
"Uses LOOT to manage plugins for games like Skyrim. Source path "
"should point to the directory which plugins are installed into."
"Target path should point to the directory containing plugins.txt "
"and loadorder.txt" },
"Moves all files not managed by another deployer out of the target directory and "
"links them back in on deployment. Can be used to either track files created by"
"other mods or to manage save files for different profiles." },
"Uses LOOT to manage plugins for OpenMW. Source path "
"should point to the directory which plugins are installed into."
"Target path should point to the directory containing openmw.cfg" },
"Manages archive (i.e. .bsa) files for OpenMW. Source path should point to the "
"Data Files directory. Target path should point to the directory containing openmw.cfg." },
"Manages plugins contained in .pak files for Baldurs Gate 3. "
"Source path should point to the Mods directory. "
"Target path should point to the directory containing modsettings.lsx." }
}

Maps deployer types to a description of what they do.

◆ DEPLOYER_TYPES

const std::vector<std::string> DeployerFactory::DEPLOYER_TYPES
inlinestatic
Initial value:

Returns a vector of available deployer types.

Returns
The vector of deployer types.

Contains all available deployer types.


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