char* ph_page_requested_urls(void *page) { ph::Page *p = (ph::Page*)page; QSet<QString> urlsList = p->requestedUrls(); QJsonArray urls; for(auto i=urlsList.cbegin(); i != urlsList.cend(); ++i) { urls.append(QJsonValue((*i))); } QByteArray requestedUrls = QJsonDocument(urls).toJson(); char *resultData = new char[requestedUrls.size() + 1]; qstrncpy(resultData, requestedUrls.data(), requestedUrls.size() + 1); return resultData; }
bool Store::deleteFlags(const PimItem::List &items, const QSet<QByteArray> &flags, bool &flagsChanged) { DataStore *store = connection()->storageBackend(); QVector<Flag> flagList; flagList.reserve(flags.size()); for (auto iter = flags.cbegin(), end = flags.cend(); iter != end; ++iter) { Flag flag = Flag::retrieveByName(QString::fromUtf8(*iter)); if (!flag.isValid()) { continue; } flagList.append(flag); } if (!store->removeItemsFlags(items, flagList, &flagsChanged)) { qCDebug(AKONADISERVER_LOG) << "Store::deleteFlags: Unable to remove item flags"; return false; } return true; }