Example #1
0
        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);
        }
Example #2
0
        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;
            }
        }