Exemplo n.º 1
0
bool CFanart::Unpack()
{
    CXBMCTinyXML doc;
    doc.Parse(m_xml);

    m_fanart.clear();

    TiXmlElement *fanart = doc.FirstChildElement("fanart");
    while (fanart)
    {
        std::string url = XMLUtils::GetAttribute(fanart, "url");
        TiXmlElement *fanartThumb = fanart->FirstChildElement("thumb");
        while (fanartThumb)
        {
            if (!fanartThumb->NoChildren())
            {
                SFanartData data;
                if (url.empty())
                {
                    data.strImage = fanartThumb->FirstChild()->ValueStr();
                    data.strPreview = XMLUtils::GetAttribute(fanartThumb, "preview");
                }
                else
                {
                    data.strImage = URIUtils::AddFileToFolder(url, fanartThumb->FirstChild()->ValueStr());
                    if (fanartThumb->Attribute("preview"))
                        data.strPreview = URIUtils::AddFileToFolder(url, fanartThumb->Attribute("preview"));
                }
                data.strResolution = XMLUtils::GetAttribute(fanartThumb, "dim");
                ParseColors(XMLUtils::GetAttribute(fanartThumb, "colors"), data.strColors);
                m_fanart.push_back(data);
            }
            fanartThumb = fanartThumb->NextSiblingElement("thumb");
        }
        fanart = fanart->NextSiblingElement("fanart");
    }
    return true;
}