DownloadItem* DownloadsModel::addDownload(DownloadItem *pde, struct GNUNET_FS_DownloadContext *dc, const struct GNUNET_FS_Uri *uri, QString filePath, const struct GNUNET_CONTAINER_MetaData *meta, qint64 size, qint64 completed ) { //Convert uri to Key GNUNET_HashCode hashcode; GNUNET_FS_uri_to_key(uri,&hashcode); //Get as QString const char * hash = GNUNET_h2s_full(&hashcode); QString strHash = QString(hash); DownloadItem* download = new DownloadItem(strHash); download->setParent(pde); download->setContext(dc); char* fancyName = GNUNET_CONTAINER_meta_data_get_first_by_types (meta, EXTRACTOR_METATYPE_PACKAGE_NAME, EXTRACTOR_METATYPE_TITLE, EXTRACTOR_METATYPE_BOOK_TITLE, EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, EXTRACTOR_METATYPE_FILENAME, EXTRACTOR_METATYPE_DESCRIPTION, EXTRACTOR_METATYPE_SUMMARY, EXTRACTOR_METATYPE_ALBUM, EXTRACTOR_METATYPE_COMMENT, EXTRACTOR_METATYPE_SUBJECT, EXTRACTOR_METATYPE_KEYWORDS, -1); char* fileName = GNUNET_CONTAINER_meta_data_get_first_by_types (meta, EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, EXTRACTOR_METATYPE_PACKAGE_NAME, EXTRACTOR_METATYPE_TITLE, EXTRACTOR_METATYPE_BOOK_TITLE, EXTRACTOR_METATYPE_FILENAME, EXTRACTOR_METATYPE_DESCRIPTION, EXTRACTOR_METATYPE_SUMMARY, EXTRACTOR_METATYPE_ALBUM, EXTRACTOR_METATYPE_COMMENT, EXTRACTOR_METATYPE_SUBJECT, EXTRACTOR_METATYPE_KEYWORDS, -1); download->setPath(filePath); download->setFancyName(QString(fancyName)); download->setFileName(QString(fileName)); download->setMetadata(meta); download->setSize(size); download->setCompleted(completed); emit addDownloadSignal(download); return download; }