/** Checks for, installs and removes Add-ons */
class AddonManager : public Currenton<AddonManager>
{
-public:
- struct InstallRequest
- {
- InstallRequest() :
- addon_id(),
- install_filename()
- {}
-
- std::string addon_id;
- std::string install_filename;
- };
-
- using InstallRequestPtr = std::shared_ptr<InstallRequest>;
-
private:
using AddonList = std::vector<std::unique_ptr<Addon> >;
bool m_has_been_updated;
- InstallRequestPtr m_install_request;
TransferStatusPtr m_transfer_status;
public:
Addon& get_installed_addon(const AddonId& addon);
TransferStatusPtr request_install_addon(const AddonId& addon_id);
- void abort_install();
void install_addon(const AddonId& addon_id);
void uninstall_addon(const AddonId& addon_id);