11 #include "addons/IAddon.h"    16 #include <unordered_map>    24 enum class AddonLifecycleState;
    27 class CAddonExtensions;
    30 struct DependencyInfo;
    31 struct RepositoryDirInfo;
    34 using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
    39   static AddonInfoPtr Generate(
const std::string& 
id, AddonType type);
    40   static AddonInfoPtr Generate(
const std::string& addonPath, 
bool platformCheck = 
true);
    41   static AddonInfoPtr Generate(
const TiXmlElement* baseElement,
    43                                bool platformCheck = 
true);
    54   static bool ParseXML(
const AddonInfoPtr& addon,
    55                        const TiXmlElement* element,
    56                        const std::string& addonPath);
    57   static bool ParseXML(
const AddonInfoPtr& addon,
    58                        const TiXmlElement* element,
    59                        const std::string& addonPath,
    61   static bool ParseXMLTypes(
CAddonType& addonType,
    62                             const AddonInfoPtr& info,
    63                             const TiXmlElement* child);
    64   static bool ParseXMLExtension(
CAddonExtensions& addonExt, 
const TiXmlElement* element);
    65   static bool GetTextList(
const TiXmlElement* element, 
const std::string& tag, std::unordered_map<std::string, std::string>& translatedValues);
    66   static const char* GetPlatformLibraryName(
const TiXmlElement* element);
    67   static bool PlatformSupportsAddon(
const AddonInfoPtr& addon);
    75   void SetId(std::string 
id);
    76   void SetName(std::string name);
    77   void SetLicense(std::string license);
    78   void SetSummary(std::string summary);
    79   void SetDescription(std::string description);
    80   void SetDisclaimer(std::string disclaimer);
    81   void SetAuthor(std::string author);
    82   void SetSource(std::string source);
    83   void SetWebsite(std::string website);
    84   void SetForum(std::string forum);
    85   void SetEMail(std::string email);
    86   void SetIcon(std::string icon);
    87   void SetArt(
const std::string& type, std::string value);
    88   void SetArt(std::map<std::string, std::string> art);
    89   void SetScreenshots(std::vector<std::string> screenshots);
    90   void SetChangelog(std::string changelog);
    91   void SetLifecycleState(AddonLifecycleState state, std::string description);
    92   void SetPath(std::string path);
    93   void SetLibName(std::string libname);
    95   void SetDependencies(std::vector<DependencyInfo> dependencies);
    96   void SetExtrainfo(InfoMap extrainfo);
    97   void SetInstallDate(
const CDateTime& installDate);
    98   void SetLastUpdated(
const CDateTime& lastUpdated);
    99   void SetLastUsed(
const CDateTime& lastUsed);
   100   void SetOrigin(std::string origin);
   101   void SetPackageSize(uint64_t size);
   104   const AddonInfoPtr& 
get() { 
return m_addonInfo; }
   107   AddonInfoPtr m_addonInfo;
 Definition: AddonType.h:77
Definition: AddonExtensions.h:54
Definition: AddonVersion.h:27
Definition: AddonInfoBuilder.h:70
DateTime class, which uses FileTime as it's base. 
Definition: XBDateTime.h:63
static void SetInstallData(const AddonInfoPtr &addon, const CDateTime &installDate, const CDateTime &lastUpdated, const CDateTime &lastUsed, const std::string &origin)
Parts used from CAddonDatabase. 
Definition: AddonInfoBuilder.cpp:246
Definition: Repository.h:23
Definition: AddonInfoBuilder.h:36