11 #include "addons/AddonDatabase.h" 25 enum class AddonCheckType : bool;
27 enum class CheckAddonPath
38 std::shared_ptr<IAddon> m_installed;
39 std::shared_ptr<IAddon> m_update;
53 explicit CAddonRepos(
const std::shared_ptr<IAddon>& repoAddon);
64 void BuildUpdateOrOutdatedList(
const std::vector<std::shared_ptr<IAddon>>& installed,
65 std::vector<std::shared_ptr<IAddon>>& result,
66 AddonCheckType addonCheckType)
const;
74 void BuildAddonsWithUpdateList(
const std::vector<std::shared_ptr<IAddon>>& installed,
75 std::map<std::string, AddonWithUpdate>& addonsWithUpdate)
const;
89 static bool IsFromOfficialRepo(
const std::shared_ptr<IAddon>& addon,
90 CheckAddonPath checkAddonPath);
98 static bool IsOfficialRepo(
const std::string& repoId);
106 bool DoAddonUpdateCheck(
const std::shared_ptr<IAddon>& addon,
107 std::shared_ptr<IAddon>& update)
const;
116 bool GetLatestAddonVersionFromAllRepos(
const std::string& addonId,
117 std::shared_ptr<IAddon>& addon)
const;
125 void GetLatestAddonVersions(std::vector<std::shared_ptr<IAddon>>& addonList)
const;
133 void GetLatestAddonVersionsFromAllRepos(std::vector<std::shared_ptr<IAddon>>& addonList)
const;
146 bool FindDependency(
const std::string& dependsId,
147 const std::string& parentRepoId,
148 std::shared_ptr<IAddon>& dependencyToInstall,
149 std::shared_ptr<CRepository>& repoForDep)
const;
159 bool FindDependencyByParentRepo(
const std::string& dependsId,
160 const std::string& parentRepoId,
161 std::shared_ptr<IAddon>& dependencyToInstall)
const;
168 void BuildCompatibleVersionsList(std::vector<std::shared_ptr<IAddon>>& compatibleVersions)
const;
181 bool LoadAddonsFromDatabase(
const std::string& addonId,
const std::shared_ptr<IAddon>& repoAddon);
194 bool FindAddonAndCheckForUpdate(
const std::shared_ptr<IAddon>& addonToCheck,
195 const std::map<std::string, std::shared_ptr<IAddon>>& map,
196 std::shared_ptr<IAddon>& update)
const;
203 void AddAddonIfLatest(
const std::shared_ptr<IAddon>& addonToAdd,
204 std::map<std::string, std::shared_ptr<IAddon>>& map)
const;
213 void AddAddonIfLatest(
214 const std::string& repoId,
215 const std::shared_ptr<IAddon>& addonToAdd,
216 std::map<std::string, std::map<std::string, std::shared_ptr<IAddon>>>& map)
const;
225 bool GetLatestVersionByMap(
const std::string& addonId,
226 const std::map<std::string, std::shared_ptr<IAddon>>& map,
227 std::shared_ptr<IAddon>& addon)
const;
233 std::vector<std::shared_ptr<IAddon>> m_allAddons;
235 std::map<std::string, std::shared_ptr<IAddon>> m_latestOfficialVersions;
236 std::map<std::string, std::shared_ptr<IAddon>> m_latestPrivateVersions;
237 std::map<std::string, std::map<std::string, std::shared_ptr<IAddon>>> m_latestVersionsByRepo;
238 std::map<std::string, std::multimap<std::string, std::shared_ptr<IAddon>>> m_addonsByRepoMap;
Class - CAddonMgr Holds references to all addons, enabled or otherwise.
Definition: AddonManager.h:79
Definition: AddonDatabase.h:61
bool IsValid() const
Return whether add-ons repo/version information was properly loaded after construction.
Definition: AddonRepos.h:174
Class - CAddonRepos Reads information about installed official/third party repos and their contained ...
Definition: AddonRepos.h:48
Struct - CAddonWithUpdate.
Definition: AddonRepos.h:36