aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_bsplugins/src/MOTools/Loot.h
blob: 414cdab05be4df70e3a6a2bbaa29734954cdeed3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef MOTOOLS_LOOT_H
#define MOTOOLS_LOOT_H

// LOOT integration stubbed out for Fluorine port.
// LootDialog/Loot impl/LootGroups removed (depended on Qt WebEngine + lootcli).
// Only the data types needed by ILootCache / PluginList::m_LootInfo remain.

#include <QString>
#include <vector>

namespace MOTools
{

class ILootCache;

class Loot
{
public:
  struct Message
  {
    int type = 0;
    QString text;
  };

  struct File
  {
    QString name;
    QString displayName;
  };

  struct Dirty
  {
    qint64 crc               = 0;
    qint64 itm               = 0;
    qint64 deletedReferences = 0;
    qint64 deletedNavmesh    = 0;
    QString cleaningUtility;
    QString info;

    QString toString(bool isClean) const
    {
      Q_UNUSED(isClean);
      return {};
    }
    QString cleaningString() const { return {}; }
  };

  struct Plugin
  {
    QString name;
    std::vector<File> incompatibilities;
    std::vector<Message> messages;
    std::vector<Dirty> dirty, clean;
    std::vector<QString> missingMasters;
    bool loadsArchive  = false;
    bool isMaster      = false;
    bool isLightMaster = false;
  };
};

}  // namespace MOTools

#endif  // MOTOOLS_LOOT_H