public List <string> local_md5s_for_file(string file) { file = new FileInfo(file).FullName; if (!file_md5_.ContainsKey(file)) { compute_default_md5s_for_file(file); } md5_info md5 = file_md5_[file]; List <string> result = new List <string>(); if (md5.fast != "") { result.Add(md5.fast); } if (md5.slow != "") { result.Add(md5.slow); } if (md5.by_file_name != "") { result.Add(md5.by_file_name); } return(result); }
public void compute_md5_for_file(string file, md5_type type) { file = new FileInfo(file).FullName; if (!file_md5_.ContainsKey(file)) { file_md5_.Add(file, new md5_info()); } md5_info md5 = file_md5_[file]; switch (type) { case md5_type.fast: if (md5.fast == "") { md5.fast = compute_md5_for_file_fast(file); } logger.Debug("[md5] computed md5 for " + file + " -> " + md5.fast); break; case md5_type.slow: if (md5.slow == "") { md5.slow = compute_md5_for_file_slow(file); } logger.Debug("[md5] computed md5 for " + file + " -> " + md5.slow); break; case md5_type.by_file_name: md5.by_file_name = compute_md5_for_file_filename(file); logger.Debug("[md5] computed md5 for " + file + " -> " + md5.by_file_name); break; default: Debug.Assert(false); break; } }