void FileHandler::share(QString name, QString body) { // tell tracker about the file before it's created QString queryStr = "INSERT { _:1 a nfo:FileDataObject, nfo:TextDocument ; " "nie:mimeType \"text/plain\" ; " "nie:url ?:path ; " "nie:byteSize ?:size ." "}"; m_path = SAVEDIR_PATH + name; // QFileInfo fileInfo(file); // m_path = "file://" + fileInfo.canonicalFilePath(); QSparqlQuery query (queryStr, QSparqlQuery::InsertStatement); query.bindValue ("path", "file://" + m_path); query.bindValue ("size", body.size()); qDebug() << query.preparedQueryText(); QSparqlConnection connection("QTRACKER_DIRECT"); if (!connection.isValid()) { qDebug() << "Invalid tracker connection"; return; } QSparqlResult* result = connection.syncExec(query); if (result->hasError()) { qDebug() << "Query error"; qDebug() << result->lastError(); } save(name, body); startShareUi(); }
QStringList FaceDatabaseProvider::resolveContact(QString &contactUrn) { static QSparqlQuery query("SELECT\n" " tracker:coalesce(fn:concat(nco:nameGiven(?:contact), \" \",\n" " nco:nameFamily(?:contact)),\n" " nco:nameGiven(?:contact),\n" " nco:nickname(?:contact),\n" " nco:nameFamily(?:contact),\n" " nco:fullname(?:contact)\n" " )\n" " ?photoUrl \n" "WHERE {\n" " ?:contact rdf:type nco:PersonContact .\n" " OPTIONAL {\n" " ?:contact nco:photo ?photoUrn .\n" " ?photoUrn nie:url ?photoUrl .\n" " }\n" "}\n"); query.bindValue("contact", QUrl(contactUrn)); QSparqlResult *result = m_sparqlConnection->syncExec(query); if (result->hasError() || !result->first()) { delete result; return QStringList(); } else { QStringList stringResult; stringResult << result->value(0).toString() << result->value(1).toString(); delete result; return stringResult; } }