diff options
-rw-r--r-- | xbmc/utils/EmbeddedArt.cpp | 23 | ||||
-rw-r--r-- | xbmc/utils/EmbeddedArt.h | 12 |
2 files changed, 23 insertions, 12 deletions
diff --git a/xbmc/utils/EmbeddedArt.cpp b/xbmc/utils/EmbeddedArt.cpp index 08fe4dc343..b528a5a26f 100644 --- a/xbmc/utils/EmbeddedArt.cpp +++ b/xbmc/utils/EmbeddedArt.cpp @@ -21,15 +21,17 @@ #include "EmbeddedArt.h" #include "Archive.h" -EmbeddedArtInfo::EmbeddedArtInfo(size_t siz, const std::string &mim) +EmbeddedArtInfo::EmbeddedArtInfo(size_t siz, + const std::string &mim, const std::string& t) { - set(siz, mim); + set(siz, mim, t); } -void EmbeddedArtInfo::set(size_t siz, const std::string &mim) +void EmbeddedArtInfo::set(size_t siz, const std::string &mim, const std::string& t) { size = siz; mime = mim; + type = t; } void EmbeddedArtInfo::clear() @@ -46,7 +48,8 @@ bool EmbeddedArtInfo::empty() const bool EmbeddedArtInfo::matches(const EmbeddedArtInfo &right) const { return (size == right.size && - mime == right.mime); + mime == right.mime && + type == right.type); } void EmbeddedArtInfo::Archive(CArchive &ar) @@ -55,22 +58,26 @@ void EmbeddedArtInfo::Archive(CArchive &ar) { ar << size; ar << mime; + ar << type; } else { ar >> size; ar >> mime; + ar >> type; } } -EmbeddedArt::EmbeddedArt(const uint8_t *dat, size_t siz, const std::string &mim) +EmbeddedArt::EmbeddedArt(const uint8_t *dat, size_t siz, + const std::string &mim, const std::string& type) { - set(dat, siz, mim); + set(dat, siz, mim, type); } -void EmbeddedArt::set(const uint8_t *dat, size_t siz, const std::string &mim) +void EmbeddedArt::set(const uint8_t *dat, size_t siz, + const std::string &mim, const std::string& type) { - EmbeddedArtInfo::set(siz, mim); + EmbeddedArtInfo::set(siz, mim, type); data.resize(siz); memcpy(&data[0], dat, siz); } diff --git a/xbmc/utils/EmbeddedArt.h b/xbmc/utils/EmbeddedArt.h index fd6671751c..b140ce8792 100644 --- a/xbmc/utils/EmbeddedArt.h +++ b/xbmc/utils/EmbeddedArt.h @@ -29,29 +29,33 @@ class EmbeddedArtInfo : public IArchivable { public: EmbeddedArtInfo() : size(0) { } - EmbeddedArtInfo(size_t size, const std::string &mime); + EmbeddedArtInfo(size_t size, const std::string &mime, const std::string& t = ""); ~EmbeddedArtInfo() override = default; // implementation of IArchivable void Archive(CArchive& ar) override; - void set(size_t size, const std::string &mime); + void set(size_t size, const std::string &mime, const std::string& t = ""); void clear(); bool empty() const; bool matches(const EmbeddedArtInfo &right) const; + void setType(const std::string& t) { type = t; } size_t size; std::string mime; + std::string type; }; class EmbeddedArt : public EmbeddedArtInfo { public: EmbeddedArt() = default; - EmbeddedArt(const uint8_t *data, size_t size, const std::string &mime); + EmbeddedArt(const uint8_t *data, size_t size, + const std::string &mime, const std::string& type = ""); ~EmbeddedArt() override = default; - void set(const uint8_t *data, size_t size, const std::string &mime); + void set(const uint8_t *data, size_t size, + const std::string &mime, const std::string& type = ""); std::vector<uint8_t> data; }; |