コード例 #1
0
void ClassDeserializerImpl<BroadcastSubscriptionRequest>::deserialize(
        BroadcastSubscriptionRequest& request,
        IObject& o)
{
    while (o.hasNextField()) {
        IField& field = o.nextField();
        if (field.name() == "subscriptionId") {
            request.setSubscriptionId(field.value());
        } else if (field.name() == "subscribedToName") {
            request.setSubscribeToName(field.value());
        } else if (field.name() == "qos") {
            request.setQos(convertVariant(field.value()).get<OnChangeSubscriptionQos>());
        } else if (field.name() == "filterParameters") {
            ClassDeserializer<BroadcastFilterParameters> filterParametersDeserializer;
            BroadcastFilterParameters filterParameters;
            filterParametersDeserializer.deserialize(filterParameters, field.value());
            request.setFilterParameters(filterParameters);
        }
    }
}