11 #include "XBDateTime.h"    12 #include "addons/AddonVersion.h"    13 #include "dbwrappers/Database.h"    26 enum class AddonDisabledReason;
    27 enum class AddonUpdateRule;
    29 class CAddonExtensions;
    30 class CAddonInfoBuilderFromDB;
    33 using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
    36 using AddonPtr = std::shared_ptr<IAddon>;
    37 using VECADDONS = std::vector<AddonPtr>;
    53   static std::string SerializeMetadata(
const CAddonInfo& addon);
    69   bool GetAddon(
const std::string& addonID,
    71                 const std::string& repoId,
    72                 ADDON::AddonPtr& addon);
    75   bool GetDisabled(std::map<std::string, ADDON::AddonDisabledReason>& addons);
    78   bool FindByAddonId(
const std::string& addonId, ADDON::VECADDONS& addons) 
const;
    80   bool UpdateRepositoryContent(
const std::string& repositoryId,
    82                                const std::string& checksum,
    83                                const std::vector<AddonInfoPtr>& addons);
    85   int GetRepoChecksum(
const std::string& 
id, std::string& checksum);
    92   bool GetRepositoryContent(
const std::string& 
id, ADDON::VECADDONS& addons) 
const;
    95   bool GetRepositoryContent(ADDON::VECADDONS& addons) 
const;
   111       : lastCheckedAt{lastCheckedAt},
   112         lastCheckedVersion{lastCheckedVersion},
   113         nextCheckAt{nextCheckAt}
   124   int SetRepoUpdateData(
const std::string& 
id, 
const RepoUpdateData& updateData);
   133   bool Search(
const std::string& search, ADDON::VECADDONS& items);
   144   bool DisableAddon(
const std::string& addonID, ADDON::AddonDisabledReason disabledReason);
   152   bool EnableAddon(
const std::string& addonID);
   160   bool AddUpdateRuleForAddon(
const std::string& addonID, ADDON::AddonUpdateRule updateRule);
   167   bool RemoveAllUpdateRulesForAddon(
const std::string& addonID);
   177   bool RemoveUpdateRuleForAddon(
const std::string& addonID, AddonUpdateRule updateRule);
   184   bool GetAddonUpdateRules(std::map<std::string, std::vector<AddonUpdateRule>>& rulesMap) 
const;
   193   bool AddPackage(
const std::string& addonID,
   194                   const std::string& packageFileName,
   195                   const std::string& hash);
   203   bool GetPackageHash(
const std::string& addonID,
   204                       const std::string& packageFileName,
   211   bool RemovePackage(
const std::string& packageFileName);
   214   void OnPostUnInstall(
const std::string& addonId);
   216   void SyncInstalled(
const std::set<std::string>& ids,
   217                      const std::set<std::string>& system,
   218                      const std::set<std::string>& optional);
   220   bool SetLastUpdated(
const std::string& addonId, 
const CDateTime& dateTime);
   221   bool SetOrigin(
const std::string& addonId, 
const std::string& origin);
   222   bool SetLastUsed(
const std::string& addonId, 
const CDateTime& dateTime);
   224   void GetInstallData(
const ADDON::AddonInfoPtr& addon);
   231   bool AddInstalledAddon(
const std::shared_ptr<CAddonInfo>& addon, 
const std::string& origin);
   234   void CreateTables() 
override;
   235   void CreateAnalytics() 
override;
   236   void UpdateTables(
int version) 
override;
   237   int GetMinSchemaVersion() 
const override;
   238   int GetSchemaVersion() 
const override;
   239   const char *GetBaseDBName()
 const override { 
return "Addons"; }
   241   bool GetAddon(
int id, ADDON::AddonPtr& addon);
   242   void DeleteRepository(
const std::string& 
id);
   243   void DeleteRepositoryContents(
const std::string& 
id);
   244   int GetRepositoryId(
const std::string& addonId);
 Definition: AddonExtensions.h:54
Definition: AddonDatabase.h:61
Definition: AddonVersion.h:27
Definition: AddonInfoBuilder.h:70
Addon content serializer/deserializer. 
Definition: AddonDatabase.h:48
Definition: AddonInfo.h:141
CDateTime lastCheckedAt
last time the repo was checked, or invalid CDateTime if never checked 
Definition: AddonDatabase.h:100
CDateTime nextCheckAt
next time the repo should be checked, or invalid CDateTime if unknown 
Definition: AddonDatabase.h:104
Definition: Database.h:26
DateTime class, which uses FileTime as it's base. 
Definition: XBDateTime.h:63
Definition: AddonDatabase.h:97