CompositeFileChecker composite;
composite.add(ChecksumFileChecker(resource.checksum()));
composite.add(checker);
- enqueue(resource, composite);
+ FetcherJob job(resource);
+ job.checkers = composite;
+ _resources.push_back(job);
}
void Fetcher::Impl::enqueue( const OnMediaLocation &resource, const FileChecker &checker )
{
FetcherJob job(resource);
job.checkers.add(checker);
- _resources.push_back(resource);
+ _resources.push_back(job);
}
void Fetcher::Impl::reset()
Pathname localfile = dest_dir + (*it_res).location.filename();
// call the checker function
try {
+ MIL << "Checking " << localfile << endl;
(*it_res).checkers(localfile);
}
catch ( const FileCheckException &e )
void CompositeFileChecker::operator()(const Pathname &file ) const
{
+ MIL << _checkers.size() << " checkers" << endl;
for ( list<FileChecker>::const_iterator it = _checkers.begin(); it != _checkers.end(); ++it )
- {
+ {
+ MIL << "checking..." << endl;
(*it)(file);
}
}
void CompositeFileChecker::add( const FileChecker &checker )
{
+ //MIL << "||# " << _checkers.size() << endl;
_checkers.push_back(checker);
+ //MIL << "||* " << _checkers.size() << endl;
+
}
SignatureFileChecker::SignatureFileChecker( const Pathname &signature )
* \throws FileCheckException if validation fails
*/
void operator()( const Pathname &file ) const;
+
+ int checkersSize() const { return _checkers.size(); }
private:
std::list<FileChecker> _checkers;
};