Upstream tarball 10017
[amule.git] / src / CanceledFileList.h
blob87fa7d4c09c2a7d2cdeb5f9d5f2e9cb3f96ed5a5
1 //
2 // This file is part of the aMule Project.
3 //
4 // Copyright (c) 2010 aMule Team ( admin@amule.org / http://www.amule.org )
5 //
6 // Any parts of this program derived from the xMule, lMule or eMule project,
7 // or contributed by third-party developers are copyrighted by their
8 // respective authors.
9 //
10 // This program is free software; you can redistribute it and/or modify
11 // it under the terms of the GNU General Public License as published by
12 // the Free Software Foundation; either version 2 of the License, or
13 // (at your option) any later version.
15 // This program is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with this program; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 #ifndef CANCELEDFILELIST_H
26 #define CANCELEDFILELIST_H
28 #include <set>
29 #include "MD4Hash.h"
32 // A list to keep track of canceled files, stored in canceled.met .
33 // Only the file hash is stored.
35 class CCanceledFileList
37 public:
38 // Ctor, calls Init()
39 CCanceledFileList();
40 // Save list
41 void Save();
42 // Check if hash belongs to a canceled file
43 bool IsCanceledFile(const CMD4Hash& hash) const;
44 // Add a hash to the list (returns true if added, false if already in list)
45 bool Add(const CMD4Hash& hash);
46 // Remove a hash from the list (returns true if removed, false if not in list)
47 bool Remove(const CMD4Hash& hash);
49 private:
50 // The list
51 typedef std::set<CMD4Hash> CanceledFileList;
52 CanceledFileList m_canceledFileList;
53 // The filename "canceled.met"
54 wxString m_filename;
56 // Load list from file (if it exists)
57 bool Init();
60 #endif // CANCELEDFILELIST_H
61 // File_checked_for_headers