From: Shie E. <er...@us...> - 2005-09-25 21:08:54
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Dialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16724/Dialogs Modified Files: checksumdlg.cpp Log Message: add: support for cfv tool for the checksum module Index: checksumdlg.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Dialogs/checksumdlg.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** checksumdlg.cpp 25 Sep 2005 20:19:06 -0000 1.14 --- checksumdlg.cpp 25 Sep 2005 21:08:45 -0000 1.15 *************** *** 29,33 **** public: static const int NumOfTypes = 5; ! enum Type { MD5=0, SHA1, SHA256, TIGER, WHIRLPOOL }; Type type; --- 29,33 ---- public: static const int NumOfTypes = 5; ! enum Type { MD5=0, SHA1, SHA256, TIGER, WHIRLPOOL}; Type type; *************** *** 94,97 **** --- 94,117 ---- } + // handles cfv binary + void cfvCreateFunc(KEasyProcess& proc, CS_Tool *self, const QStringList& files, + const QString, bool recursive, const QString& type) { + proc << KrServices::fullPathName( self->binary ) << "-C" << "-VV"; + if (recursive) proc << "-rr"; + proc << "-t" << type << "-f-" << "-U" << files; + } + + void cfvVerifyFunc(KEasyProcess& proc, CS_Tool *self, const QStringList& files, + const QString checksumFile, bool recursive, const QString&type) { + proc << KrServices::fullPathName( self->binary ) << "-M"; + if (recursive) proc << "-rr"; + proc << "-U" << "-VV" << "-t" << type << "-f" << checksumFile;// << files; + } + + QStringList cfvFailedFunc(const QStringList& stdout, const QStringList& stderr) { + // cfv dumps all failed hashes to stderr + return stderr; + } + // important: this table should be ordered like so that all md5 tools should be // one after another, and then all sha1 and so on and so forth. they tools must be grouped, *************** *** 101,106 **** --- 121,128 ---- {CS_Tool::MD5, "md5sum", false, sumCreateFunc, sumVerifyFunc, sumFailedFunc}, {CS_Tool::MD5, "md5deep", true, deepCreateFunc, deepVerifyFunc, deepFailedFunc}, + {CS_Tool::MD5, "cfv", true, cfvCreateFunc, cfvVerifyFunc, cfvFailedFunc}, {CS_Tool::SHA1, "sha1sum", false, sumCreateFunc, sumVerifyFunc, sumFailedFunc}, {CS_Tool::SHA1, "sha1deep", true, deepCreateFunc, deepVerifyFunc, deepFailedFunc}, + {CS_Tool::SHA1, "cfv", true, cfvCreateFunc, cfvVerifyFunc, cfvFailedFunc}, {CS_Tool::SHA256, "sha256deep", true, deepCreateFunc, deepVerifyFunc, deepFailedFunc}, {CS_Tool::TIGER, "tigerdeep", true, deepCreateFunc, deepVerifyFunc, deepFailedFunc}, *************** *** 113,117 **** void initChecksumModule() { ! // prepare the dictionaries cs_textToType["md5"]=CS_Tool::MD5; cs_textToType["sha1"]=CS_Tool::SHA1; --- 135,139 ---- void initChecksumModule() { ! // prepare the dictionaries - pity it has to be manually cs_textToType["md5"]=CS_Tool::MD5; cs_textToType["sha1"]=CS_Tool::SHA1; *************** *** 208,212 **** KEasyProcess proc; CS_Tool *mytool = tools.at(method->currentItem()); ! mytool->create(proc, mytool, files, QString::null, containFolders); krApp->startWaiting(i18n("Calculating checksums ..."), 0); --- 230,234 ---- KEasyProcess proc; CS_Tool *mytool = tools.at(method->currentItem()); ! mytool->create(proc, mytool, files, QString::null, containFolders, method->currentText()); krApp->startWaiting(i18n("Calculating checksums ..."), 0); *************** *** 303,307 **** // else implied: run the process KEasyProcess proc; ! mytool->verify(proc, mytool, files, file, containFolders); bool r = proc.start(KEasyProcess::Block, KEasyProcess::AllOutput); if (r) proc.wait(); --- 325,329 ---- // else implied: run the process KEasyProcess proc; ! mytool->verify(proc, mytool, files, file, containFolders, extension); bool r = proc.start(KEasyProcess::Block, KEasyProcess::AllOutput); if (r) proc.wait(); |