1 // Copyright 2019 Dolphin Emulator Project
2 // Licensed under GPLv2+
3 // Refer to the license.txt file included.
4 
5 #pragma once
6 
7 #include <string>
8 #include <vector>
9 
10 #include "Common/CommonTypes.h"
11 #include "Core/HW/GCMemcard/GCMemcard.h"
12 
13 class PointerWrap;
14 
15 namespace Memcard
16 {
17 class GCIFile
18 {
19 public:
20   bool LoadHeader();
21   bool LoadSaveBlocks();
22   bool HasCopyProtection() const;
23   void DoState(PointerWrap& p);
24   int UsesBlock(u16 blocknum);
25 
26   DEntry m_gci_header;
27   std::vector<GCMBlock> m_save_data;
28   std::vector<u16> m_used_blocks;
29   bool m_dirty;
30   std::string m_filename;
31 };
32 }  // namespace Memcard
33