Пример #1
0
QVariantMap Nuria::RestfulHttpNode::deepConvertMap (QVariantMap map) {
	for (auto it = map.begin (), end = map.end (); it != end; ++it) {
		*it = serializeVariant (*it);
	}
	
	return map;
}
Пример #2
0
QVariantList Nuria::RestfulHttpNode::deepConvertList (QVariantList list) {
	for (auto it = list.begin (), end = list.end (); it != end; ++it) {
		*it = serializeVariant (*it);
	}
	
	return list;
	
}
Пример #3
0
QByteArray Nuria::RestfulHttpNode::generateResultData (const QVariant &result, Nuria::HttpClient *client) {
	switch (result.userType ()) {
	case QMetaType::QByteArray:
		return result.toByteArray ();
	case QMetaType::QString:
		return result.toString ().toUtf8 ();
	case QMetaType::QJsonDocument:
		addJsonContentTypeHeaderToResponse (client);
		return result.value< QJsonDocument > ().toJson (QJsonDocument::Compact);
	}
	
	// 
	return sendVariantAsJson (serializeVariant (result), client);
}
Пример #4
0
void ClassSerializerImpl<Variant>::serialize(const Variant &variant,
                                             std::ostream &stream)
{
    if (variant.isEmpty()) {
        return;
    }

    std::string typeName = variant.getTypeName();
    auto serializer = SerializerRegistry::getSerializer(typeName);

    // Check that a Joynr serializer is available
    if (serializer) {
        serializer->serializeVariant(variant, stream);
    }
}