#include "global.hpp"
#include "addon/manager.hpp"
#include "addon/manager_ui.hpp"
#include "dialogs.hpp"
#include "filesystem.hpp"
#include "formatter.hpp"
#include "game_preferences.hpp"
#include "gettext.hpp"
#include "gui/dialogs/addon/connect.hpp"
#include "gui/dialogs/addon/list.hpp"
#include "gui/dialogs/addon/description.hpp"
#include "gui/dialogs/addon/uninstall_list.hpp"
#include "gui/dialogs/message.hpp"
#include "gui/dialogs/network_transmission.hpp"
#include "gui/dialogs/simple_item_selector.hpp"
#include "gui/dialogs/transient_message.hpp"
#include "gui/widgets/settings.hpp"
#include "gui/widgets/window.hpp"
#include "log.hpp"
#include "marked-up_text.hpp"
#include "serialization/parser.hpp"
#include "version.hpp"
#include "wml_separators.hpp"
#include "formula/string_utils.hpp"
#include "addon/client.hpp"
Go to the source code of this file.
Macros | |
#define | ERR_CFG LOG_STREAM(err , log_config) |
#define | LOG_CFG LOG_STREAM(info, log_config) |
#define | WRN_CFG LOG_STREAM(warn, log_config) |
#define | ERR_FS LOG_STREAM(err , log_filesystem) |
#define | ERR_NET LOG_STREAM(err , log_network) |
#define | LOG_NET LOG_STREAM(info, log_network) |
Functions | |
bool | have_addon_in_vcs_tree (const std::string &addon_name) |
Returns true if the specified add-ons appear to be managed by a 'supported' VCS. More... | |
bool | have_addon_pbl_info (const std::string &addon_name) |
Returns true if there's a local .pbl file stored for the specified add-on. More... | |
void | get_addon_pbl_info (const std::string &addon_name, config &cfg) |
Gets the publish information for an add-on. More... | |
void | set_addon_pbl_info (const std::string &addon_name, const config &cfg) |
bool | have_addon_install_info (const std::string &addon_name) |
Returns true if there is a local installation info (_info.cfg) file for the add-on. More... | |
void | get_addon_install_info (const std::string &addon_name, config &cfg) |
Gets the installation info (_info.cfg) for an add-on. More... | |
bool | remove_local_addon (const std::string &addon) |
std::vector< std::string > | available_addons () |
Returns a list of local add-ons that can be published. More... | |
std::vector< std::string > | installed_addons () |
Retrieves the names of all installed add-ons. More... | |
bool | is_addon_installed (const std::string &addon_name) |
Check whether the specified add-on is currently installed. More... | |
static bool | IsCR (const char &c) |
static std::string | strip_cr (std::string str, bool strip) |
static std::pair< std::vector < std::string >, std::vector < std::string > > | read_ignore_patterns (const std::string &addon_name) |
static void | archive_file (const std::string &path, const std::string &fname, config &cfg) |
static void | archive_dir (const std::string &path, const std::string &dirname, config &cfg, std::pair< std::vector< std::string >, std::vector< std::string > > &ignore_patterns) |
void | archive_addon (const std::string &addon_name, config &cfg) |
Archives an add-on into a config object for campaignd transactions. More... | |
static void | unarchive_file (const std::string &path, const config &cfg) |
static void | unarchive_dir (const std::string &path, const config &cfg) |
void | unarchive_addon (const config &cfg) |
void | refresh_addon_version_info_cache () |
Refreshes the per-session cache of add-on's version information structs. More... | |
version_info | get_addon_version_info (const std::string &addon) |
Returns a particular installed add-on's version information. More... | |
Variables | |
static lg::log_domain | log_config ("config") |
static lg::log_domain | log_filesystem ("filesystem") |
static lg::log_domain | log_network ("network") |
#define ERR_CFG LOG_STREAM(err , log_config) |
Definition at line 44 of file manager.cpp.
Referenced by get_addon_install_info(), and remove_local_addon().
#define ERR_FS LOG_STREAM(err , log_filesystem) |
Definition at line 49 of file manager.cpp.
#define ERR_NET LOG_STREAM(err , log_network) |
Definition at line 52 of file manager.cpp.
#define LOG_CFG LOG_STREAM(info, log_config) |
Definition at line 45 of file manager.cpp.
Referenced by read_ignore_patterns(), refresh_addon_version_info_cache(), and remove_local_addon().
#define LOG_NET LOG_STREAM(info, log_network) |
Definition at line 53 of file manager.cpp.
#define WRN_CFG LOG_STREAM(warn, log_config) |
Definition at line 46 of file manager.cpp.
Referenced by refresh_addon_version_info_cache().
void archive_addon | ( | const std::string & | addon_name, |
class config & | cfg | ||
) |
Archives an add-on into a config object for campaignd transactions.
Definition at line 294 of file manager.cpp.
References config::add_child(), archive_dir(), filesystem::get_addons_dir(), and read_ignore_patterns().
Referenced by addons_client::upload_addon().
|
static |
Definition at line 260 of file manager.cpp.
References config::add_child(), archive_file(), filesystem::get_files_in_dir(), i, filesystem::looks_like_pbl(), schema_validation::valid, and utils::wildcard_string_match().
Referenced by archive_addon().
|
static |
Definition at line 253 of file manager.cpp.
References encode_binary(), filesystem::read_file(), and strip_cr().
Referenced by archive_dir().
std::vector<std::string> available_addons | ( | ) |
Returns a list of local add-ons that can be published.
Definition at line 134 of file manager.cpp.
References filesystem::file_exists(), filesystem::get_addons_dir(), filesystem::get_files_in_dir(), have_addon_pbl_info(), and i.
void get_addon_install_info | ( | const std::string & | addon_name, |
class config & | cfg | ||
) |
Gets the installation info (_info.cfg) for an add-on.
addon_name | The add-on's main directory/file name. |
cfg | A config object to store the add-on's properties. |
Definition at line 107 of file manager.cpp.
References e, ERR_CFG, filesystem::istream_file(), game::error::message, and read().
Referenced by refresh_addon_version_info_cache().
void get_addon_pbl_info | ( | const std::string & | addon_name, |
class config & | cfg | ||
) |
Gets the publish information for an add-on.
addon_name | The add-on's main directory/file name. |
cfg | A config object to store the add-on's properties. |
invalid_pbl_exception | If it is not possible to read the .pbl file (often due to invalid WML). |
Definition at line 85 of file manager.cpp.
References e, filesystem::istream_file(), game::error::message, and read().
Referenced by addons_client::delete_remote_addon(), and get_addon_tracking_info().
version_info get_addon_version_info | ( | const std::string & | addon | ) |
Returns a particular installed add-on's version information.
Definition at line 379 of file manager.cpp.
Referenced by get_addon_tracking_info(), and game_config_manager::load_addons_cfg().
bool have_addon_in_vcs_tree | ( | const std::string & | addon_name | ) |
Returns true if the specified add-ons appear to be managed by a 'supported' VCS.
Currently supported VCSes are: Subversion, Git, Mercurial.
Definition at line 71 of file manager.cpp.
References filesystem::file_exists(), and filesystem::get_addons_dir().
Referenced by get_addon_tracking_info(), and refresh_addon_version_info_cache().
bool have_addon_install_info | ( | const std::string & | addon_name | ) |
Returns true if there is a local installation info (_info.cfg) file for the add-on.
Definition at line 102 of file manager.cpp.
References filesystem::file_exists().
bool have_addon_pbl_info | ( | const std::string & | addon_name | ) |
Returns true if there's a local .pbl file stored for the specified add-on.
Definition at line 80 of file manager.cpp.
References filesystem::file_exists().
Referenced by available_addons(), get_addon_tracking_info(), and refresh_addon_version_info_cache().
std::vector<std::string> installed_addons | ( | ) |
Retrieves the names of all installed add-ons.
Definition at line 150 of file manager.cpp.
References filesystem::file_exists(), filesystem::get_addons_dir(), filesystem::get_files_in_dir(), and i.
Referenced by manage_addons(), refresh_addon_version_info_cache(), mp::gamebrowser::set_game_items(), and mp::start_client().
bool is_addon_installed | ( | const std::string & | addon_name | ) |
Check whether the specified add-on is currently installed.
Definition at line 166 of file manager.cpp.
References filesystem::file_exists(), and filesystem::get_addons_dir().
Referenced by get_addon_tracking_info().
|
inlinestatic |
Definition at line 172 of file manager.cpp.
Referenced by strip_cr().
|
static |
Definition at line 223 of file manager.cpp.
References filesystem::file_exists(), filesystem::get_addons_dir(), filesystem::istream_file(), LOG_CFG, and utils::strip().
Referenced by archive_addon().
void refresh_addon_version_info_cache | ( | ) |
Refreshes the per-session cache of add-on's version information structs.
Definition at line 337 of file manager.cpp.
References config::child(), filesystem::file_exists(), get_addon_install_info(), have_addon_in_vcs_tree(), have_addon_pbl_info(), i, installed_addons(), LOG_CFG, game_config::version, and WRN_CFG.
Referenced by do_gameloop(), and game_config_manager::reload_changed_game_config().
bool remove_local_addon | ( | const std::string & | addon | ) |
Definition at line 120 of file manager.cpp.
References filesystem::delete_directory(), ERR_CFG, filesystem::file_exists(), filesystem::get_addons_dir(), and LOG_CFG.
Referenced by addons_client::install_addon().
void set_addon_pbl_info | ( | const std::string & | addon_name, |
const config & | cfg | ||
) |
Definition at line 96 of file manager.cpp.
References filesystem::ostream_file(), and write().
Referenced by addons_client::upload_addon().
|
static |
Definition at line 327 of file manager.cpp.
References filesystem::get_addons_dir(), and unarchive_dir().
Referenced by addons_client::install_addon().
|
static |
Definition at line 308 of file manager.cpp.
References config::child_range(), d, filesystem::make_directory(), and unarchive_file().
Referenced by unarchive_addon().
|
static |
Definition at line 303 of file manager.cpp.
References unencode_binary(), and filesystem::write_file().
Referenced by unarchive_dir().
|
static |
|
static |
|
static |