#include "featureset.h" #include #include FeatureSet::FeatureSet() { } QMap FeatureSet::getDefaultFeatureList() { initalizeFeatureList(featureList); return featureList; } void FeatureSet::initalizeFeatureList(QMap &featureList){ featureList.insert("client_id", false); featureList.insert("client_ver", false); featureList.insert("feature_set", false); } void FeatureSet::enableRequiredFeature(QMap &featureList, QString featureName){ if (featureList.contains(featureName)) featureList.insert(featureName,true); } void FeatureSet::disableRequiredFeature(QMap &featureList, QString featureName){ if (featureList.contains(featureName)) featureList.insert(featureName,false); } QMap FeatureSet::addFeature(QMap &featureList, QString featureName, bool isFeatureRequired){ featureList.insert(featureName,isFeatureRequired); return featureList; } QMap FeatureSet::identifyMissingFeatures(QMap suppliedFeatures, QMap requiredFeatures){ QMap missingList; QMap::iterator i; for (i = requiredFeatures.begin(); i != requiredFeatures.end(); ++i) { if (!suppliedFeatures.contains(i.key())) { missingList.insert(i.key(), i.value()); } } return missingList; } bool FeatureSet::isRequiredFeaturesMissing(QMap suppliedFeatures, QMap requiredFeatures) { QMap::iterator i; for (i = requiredFeatures.begin(); i != requiredFeatures.end(); ++i) { if (i.value() && suppliedFeatures.contains(i.key())) { return true; } } return false; }