aboutsummaryrefslogtreecommitdiff
path: root/libs/game_gamebryo/src/gamebryo/gamebryogameplugins.h
blob: ca70c759cd9ac44d6227675deb9eae7cd7ea18cc (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
#ifndef GAMEBRYOGAMEPLUGINS_H
#define GAMEBRYOGAMEPLUGINS_H

#include <QDateTime>
#include <QStringList>
#include <gameplugins.h>
#include <imoinfo.h>

class GamebryoGamePlugins : public MOBase::GamePlugins
{
public:
  GamebryoGamePlugins(MOBase::IOrganizer* organizer);

  virtual void writePluginLists(const MOBase::IPluginList* pluginList) override;
  virtual void readPluginLists(MOBase::IPluginList* pluginList) override;
  virtual QStringList getLoadOrder() override;

protected:
  MOBase::IOrganizer* organizer() const { return m_Organizer; }

  virtual void writePluginList(const MOBase::IPluginList* pluginList,
                               const QString& filePath);
  virtual void writeLoadOrderList(const MOBase::IPluginList* pluginList,
                                  const QString& filePath);
  virtual QStringList readLoadOrderList(MOBase::IPluginList* pluginList,
                                        const QString& filePath);
  virtual QStringList readPluginList(MOBase::IPluginList* pluginList);

protected:
  MOBase::IOrganizer* m_Organizer;
  QDateTime m_LastRead;

private:
  void writeList(const MOBase::IPluginList* pluginList, const QString& filePath,
                 bool loadOrder);
};

#endif  // GAMEBRYOGAMEPLUGINS_H