File indexing completed on 2024-04-28 15:39:58

0001 /* SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org>
0002 
0003    SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "MD5Map.h"
0007 
0008 using namespace DB;
0009 
0010 void MD5Map::insert(const MD5 &md5sum, const DB::FileName &fileName)
0011 {
0012     m_map.insert(md5sum, fileName);
0013     m_i_map.insert(fileName, md5sum);
0014 }
0015 
0016 DB::FileName MD5Map::lookup(const MD5 &md5sum) const
0017 {
0018     return m_map[md5sum];
0019 }
0020 
0021 MD5 MD5Map::lookupFile(const DB::FileName &fileName) const
0022 {
0023     return m_i_map[fileName];
0024 }
0025 
0026 bool MD5Map::contains(const MD5 &md5sum) const
0027 {
0028     return m_map.contains(md5sum);
0029 }
0030 
0031 bool MD5Map::containsFile(const DB::FileName &fileName) const
0032 {
0033     return m_i_map.contains(fileName);
0034 }
0035 
0036 void MD5Map::clear()
0037 {
0038     m_map.clear();
0039     m_i_map.clear();
0040 }
0041 
0042 DB::FileNameSet DB::MD5Map::diff(const MD5Map &other) const
0043 {
0044     DB::FileNameSet res;
0045 
0046     for (MD5FileMap::ConstIterator it = m_map.begin(); it != m_map.end(); ++it) {
0047         if (other.lookup(it.key()) != it.value())
0048             res.insert(it.value());
0049     }
0050 
0051     return res;
0052 }
0053 // vi:expandtab:tabstop=4 shiftwidth=4: