mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 09:18:45 +02:00
repairs for assignment parsing from command line and JSON
This commit is contained in:
parent
c2ff438182
commit
9a9939c11a
2 changed files with 9 additions and 27 deletions
|
@ -172,26 +172,6 @@ bool DomainServer::readX509KeyAndCertificate() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DomainServer::requestCreationFromDataServer() {
|
|
||||||
// this slot is fired when we get a valid access token from the data-server
|
|
||||||
// now let's ask it to set us up with a UUID
|
|
||||||
JSONCallbackParameters callbackParams;
|
|
||||||
callbackParams.jsonCallbackReceiver = this;
|
|
||||||
callbackParams.jsonCallbackMethod = "processCreateResponseFromDataServer";
|
|
||||||
|
|
||||||
AccountManager::getInstance().authenticatedRequest("/api/v1/domains/create",
|
|
||||||
QNetworkAccessManager::PostOperation,
|
|
||||||
callbackParams);
|
|
||||||
}
|
|
||||||
|
|
||||||
void DomainServer::processCreateResponseFromDataServer(const QJsonObject& jsonObject) {
|
|
||||||
if (jsonObject["status"].toString() == "success") {
|
|
||||||
// pull out the UUID the data-server is telling us to use, and complete our setup with it
|
|
||||||
QUuid newSessionUUID = QUuid(jsonObject["data"].toObject()["uuid"].toString());
|
|
||||||
setupNodeListAndAssignments(newSessionUUID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void DomainServer::setupNodeListAndAssignments(const QUuid& sessionUUID) {
|
void DomainServer::setupNodeListAndAssignments(const QUuid& sessionUUID) {
|
||||||
|
|
||||||
const QString CUSTOM_PORT_OPTION = "port";
|
const QString CUSTOM_PORT_OPTION = "port";
|
||||||
|
@ -244,20 +224,21 @@ void DomainServer::parseAssignmentConfigs(QSet<Assignment::Type>& excludedTypes)
|
||||||
|
|
||||||
while (configIndex != -1) {
|
while (configIndex != -1) {
|
||||||
// figure out which assignment type this matches
|
// figure out which assignment type this matches
|
||||||
Assignment::Type assignmentType = (Assignment::Type) assignmentConfigRegex.cap().toInt();
|
Assignment::Type assignmentType = (Assignment::Type) assignmentConfigRegex.cap(1).toInt();
|
||||||
|
|
||||||
QVariant mapValue = _argumentVariantMap[variantMapKeys[configIndex]];
|
QVariant mapValue = _argumentVariantMap[variantMapKeys[configIndex]];
|
||||||
|
|
||||||
if (mapValue.type() == QVariant::String) {
|
if (mapValue.type() == QVariant::String) {
|
||||||
|
qDebug() << mapValue.toString();
|
||||||
QJsonDocument deserializedDocument = QJsonDocument::fromJson(mapValue.toString().toUtf8());
|
QJsonDocument deserializedDocument = QJsonDocument::fromJson(mapValue.toString().toUtf8());
|
||||||
createStaticAssignmentsForType(assignmentType, deserializedDocument.array());
|
createStaticAssignmentsForType(assignmentType, deserializedDocument.array());
|
||||||
} else {
|
} else {
|
||||||
createStaticAssignmentsForType(assignmentType, mapValue.toJsonArray());
|
createStaticAssignmentsForType(assignmentType, mapValue.toJsonValue().toArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
excludedTypes.insert(assignmentType);
|
excludedTypes.insert(assignmentType);
|
||||||
|
|
||||||
configIndex = variantMapKeys.indexOf(assignmentConfigRegex);
|
configIndex = variantMapKeys.indexOf(assignmentConfigRegex, configIndex + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -272,6 +253,8 @@ void DomainServer::createStaticAssignmentsForType(Assignment::Type type, const Q
|
||||||
|
|
||||||
int configCounter = 0;
|
int configCounter = 0;
|
||||||
|
|
||||||
|
qDebug() << configArray;
|
||||||
|
|
||||||
foreach(const QJsonValue& jsonValue, configArray) {
|
foreach(const QJsonValue& jsonValue, configArray) {
|
||||||
if (jsonValue.isObject()) {
|
if (jsonValue.isObject()) {
|
||||||
QJsonObject jsonObject = jsonValue.toObject();
|
QJsonObject jsonObject = jsonValue.toObject();
|
||||||
|
@ -295,10 +278,11 @@ void DomainServer::createStaticAssignmentsForType(Assignment::Type type, const Q
|
||||||
// setup the payload as a semi-colon separated list of key = value
|
// setup the payload as a semi-colon separated list of key = value
|
||||||
QStringList payloadStringList;
|
QStringList payloadStringList;
|
||||||
foreach(const QString& payloadKey, jsonObject.keys()) {
|
foreach(const QString& payloadKey, jsonObject.keys()) {
|
||||||
payloadStringList << QString("%1=%2").arg(payloadKey).arg(jsonObject[payloadKey].toString());
|
QString dashes = payloadKey.size() == 1 ? "-" : "--";
|
||||||
|
payloadStringList << QString("%1%2 %3").arg(dashes).arg(payloadKey).arg(jsonObject[payloadKey].toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
configAssignment->setPayload(payloadStringList.join(';').toUtf8());
|
configAssignment->setPayload(payloadStringList.join(' ').toUtf8());
|
||||||
|
|
||||||
addStaticAssignmentToAssignmentHash(configAssignment);
|
addStaticAssignmentToAssignmentHash(configAssignment);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,8 +44,6 @@ public slots:
|
||||||
void nodeKilled(SharedNodePointer node);
|
void nodeKilled(SharedNodePointer node);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void requestCreationFromDataServer();
|
|
||||||
void processCreateResponseFromDataServer(const QJsonObject& jsonObject);
|
|
||||||
|
|
||||||
void readAvailableDatagrams();
|
void readAvailableDatagrams();
|
||||||
void readAvailableDTLSDatagrams();
|
void readAvailableDTLSDatagrams();
|
||||||
|
|
Loading…
Reference in a new issue