Cockatrice/libcockatrice_protocol/libcockatrice/protocol/featureset.h
BruebachL 1ef07309d6
Turn Card, Deck_List, Protocol, RNG, Network (Client, Server), Settings and Utility into libraries and remove cockatrice_common. (#6212)
---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
Co-authored-by: ebbit1q <ebbit1q@gmail.com>
2025-10-09 07:36:12 +02:00

29 lines
1.0 KiB
C++

#ifndef FEATURESET_H
#define FEATURESET_H
#include <QMap>
#include <QObject>
#include <QSet>
#include <QString>
class FeatureSet : public QObject
{
public:
FeatureSet();
QMap<QString, bool> getDefaultFeatureList();
void initalizeFeatureList(QMap<QString, bool> &_featureList);
void enableRequiredFeature(QMap<QString, bool> &_featureList, const QString &featureName);
void disableRequiredFeature(QMap<QString, bool> &_featureList, const QString &featureName);
QMap<QString, bool>
addFeature(QMap<QString, bool> &_featureList, const QString &featureName, bool isFeatureRequired);
QMap<QString, bool> identifyMissingFeatures(const QMap<QString, bool> &featureListToCheck,
QMap<QString, bool> featureListToCompareTo);
bool isRequiredFeaturesMissing(const QMap<QString, bool> &featureListToCheck,
QMap<QString, bool> featureListToCompareTo);
private:
QMap<QString, bool> featureList;
};
#endif // FEEATURESET_H