From 09e0a2ced70d03fa1e4e17b74dbd9e25f41c89df Mon Sep 17 00:00:00 2001 From: Zach Pomerantz Date: Fri, 3 Jun 2016 14:59:58 -0700 Subject: [PATCH] Parse basic metadata into DomainMetadata --- domain-server/src/DomainMetadata.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/domain-server/src/DomainMetadata.cpp b/domain-server/src/DomainMetadata.cpp index 75ff0d697c..8fdbc2bbd1 100644 --- a/domain-server/src/DomainMetadata.cpp +++ b/domain-server/src/DomainMetadata.cpp @@ -10,6 +10,7 @@ #include "DomainMetadata.h" +#include #include #include @@ -35,7 +36,7 @@ const QString DomainMetadata::DESCRIPTORS_TAGS = "tags"; // descriptors metadata will appear as (JSON): // { "capacity": Number, // TODO: "hours": String, // UTF-8 representation of the week, split into 15" segments -// "restriction": String, // enum of either OPEN, RESTRICTED_HIFI, RESTRICTED_ACL +// "restriction": String, // enum of either open, hifi, or acl // "maturity": String, // enum corresponding to ESRB ratings // "hosts": [ String ], // capped list of usernames // "description": String, // capped description @@ -59,11 +60,25 @@ DomainMetadata::DomainMetadata() { } void DomainMetadata::setDescriptors(QVariantMap& settings) { - // TODO + const QString CAPACITY = "security.maximum_user_capacity"; + const QVariant* capacityVariant = valueForKeyPath(settings, CAPACITY); + unsigned int capacity = capacityVariant ? capacityVariant->toUInt() : 0; - QVariantMap descriptors; + // TODO: Keep parity with ACL development. + const QString RESTRICTION = "security.restricted_access"; + const QString RESTRICTION_OPEN = "open"; + // const QString RESTRICTION_HIFI = "hifi"; + const QString RESTRICTION_ACL = "acl"; + const QVariant* isRestrictedVariant = valueForKeyPath(settings, RESTRICTION); + bool isRestricted = isRestrictedVariant ? isRestrictedVariant->toBool() : false; + QString restriction = isRestricted ? RESTRICTION_ACL : RESTRICTION_OPEN; - #if DEV_BUILD || PR_BUILD + QVariantMap descriptors = settings[DESCRIPTORS].toMap(); + descriptors[DESCRIPTORS_CAPACITY] = capacity; + descriptors[DESCRIPTORS_RESTRICTION] = restriction; + _metadata[DESCRIPTORS] = descriptors; + +#if DEV_BUILD || PR_BUILD qDebug() << "Regenerated domain metadata - descriptors:" << descriptors; #endif }