Limo
A simple mod manager
Loading...
Searching...
No Matches
appinfo.h
Go to the documentation of this file.
1
5
6#pragma once
7
8#include "deployer.h"
9#include "tagcondition.h"
10#include "tool.h"
11#include <map>
12#include <string>
13#include <vector>
14
15
19struct AppInfo
20{
22 std::string name = "";
24 std::string staging_dir = "";
26 std::string command = "";
28 int num_mods = 0;
33 std::vector<std::string> deployers{};
38 std::vector<std::string> deployer_types{};
43 std::vector<std::string> target_dirs{};
48 std::vector<int> deployer_mods{};
50 std::vector<Deployer::DeployMode> deploy_modes{};
55 std::vector<Tool> tools{};
60 std::map<std::string, int> num_mods_per_manual_tag;
65 std::map<std::string, int> num_mods_per_auto_tag;
69 std::map<std::string, std::pair<std::string, std::vector<TagCondition>>> auto_tags;
71 std::string app_version = "";
76 std::vector<std::string> deployer_source_dirs{};
77};
Header for the Deployer class.
Stores information about a ModdedApplication.
Definition appinfo.h:20
std::vector< std::string > deployer_source_dirs
For every deployer: The source directory used. This is equivalent to the staging directory for non-au...
Definition appinfo.h:76
std::vector< Tool > tools
Name and command for each tool belonging to the application.
Definition appinfo.h:55
std::vector< std::string > target_dirs
Staging directory of deployers belonging to the application.
Definition appinfo.h:43
std::vector< int > deployer_mods
Number of mods for each deployer belonging to the application.
Definition appinfo.h:48
std::string app_version
Version of the target application.
Definition appinfo.h:71
std::string staging_dir
The application's staging directory.
Definition appinfo.h:24
std::map< std::string, int > num_mods_per_auto_tag
Maps the names of all auto tags to the number of mods with that tag in the application.
Definition appinfo.h:65
std::string command
Command used to run the application.
Definition appinfo.h:26
std::vector< std::string > deployer_types
Types of deployers belonging to the application.
Definition appinfo.h:38
std::map< std::string, int > num_mods_per_manual_tag
Maps the names of all manual tags to the number of mods with that tag in the application.
Definition appinfo.h:60
std::vector< std::string > deployers
Names of deployers belonging to the application.
Definition appinfo.h:33
std::map< std::string, std::pair< std::string, std::vector< TagCondition > > > auto_tags
Maps all auto tag names to a pair of the expression used and a vector of Tagconditions.
Definition appinfo.h:69
std::string name
The application's name.
Definition appinfo.h:22
std::vector< Deployer::DeployMode > deploy_modes
For every deployer: Determines how files will be deployed to the target directory.
Definition appinfo.h:50
int num_mods
Number of installed mods of the application.
Definition appinfo.h:28
Contains the TagCondition struct.
Header for the Tool class.