aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xbmc/utils/EmbeddedArt.cpp23
-rw-r--r--xbmc/utils/EmbeddedArt.h12
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;
};