PrismLauncher/logic/VersionFactory.h

24 lines
575 B
C
Raw Normal View History

2013-07-22 01:01:56 +01:00
#pragma once
#include <QtCore>
2013-08-28 03:38:29 +01:00
struct OneSixVersion;
2013-07-27 10:41:45 +01:00
class Rule;
2013-07-22 01:01:56 +01:00
class FullVersionFactory
{
public:
enum Error
{
AllOK, // all parsed OK
ParseError, // the file was corrupted somehow
UnsupportedVersion // the file was meant for a launcher version we don't support (yet)
} m_error;
QString error_string;
public:
FullVersionFactory();
2013-08-28 03:38:29 +01:00
QSharedPointer<OneSixVersion> parse(QByteArray data);
2013-07-22 01:01:56 +01:00
private:
2013-08-28 03:38:29 +01:00
QSharedPointer<OneSixVersion> parse4(QJsonObject root, QSharedPointer<OneSixVersion> product);
2013-07-27 10:41:45 +01:00
QList<QSharedPointer<Rule> > parse4rules(QJsonObject & baseObj);
2013-07-22 01:01:56 +01:00
};