bool WeatherPlugin::done(unsigned code, Buffer &data, const char*) { if (code != 200) return false; m_data = ""; m_day = 0; m_bBar = false; m_bWind = false; m_bUv = false; m_bCC = false; m_context = xmlCreatePushParserCtxt(&m_handler, this, "", 0, ""); if (xmlParseChunk(m_context, data.data(), data.size(), 0)){ log(L_WARN, "XML parse error"); xmlFreeParserCtxt(m_context); return false; } xmlFreeParserCtxt(m_context); time_t now; time(&now); setTime(now); if (m_bForecast) setForecastTime(now); updateButton(); Event eUpdate(EventWeather); eUpdate.process(); return false; }
bool WeatherPlugin::done(unsigned code, Buffer &data, const char*) { if (code != 200) return false; m_data = ""; m_day = 0; m_bBar = false; m_bWind = false; m_bUv = false; m_bCC = false; m_bMoon = false; reset(); if (!parse(data.data(), data.size(), false)){ log(L_WARN, "XML parse error"); return false; } time_t now = time(NULL); setTime(now); if (m_bForecast) setForecastTime(now); updateButton(); Event eUpdate(EventWeather); eUpdate.process(); return false; }