diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-07-08 00:28:50 (GMT) |
---|---|---|
committer | Nick Hudson <nick.hudson@isode.com> | 2015-07-22 14:40:56 (GMT) |
commit | 7f96c8b224099f1c0e5c6996984fe79558e0d550 (patch) | |
tree | e9b3c600b370ffad139b05b84447aa5c6e3d9e78 /src/com/isode/stroke/queries/RawRequest.java | |
parent | 1f2c3add9971e8636013c384938456388b04ed79 (diff) | |
download | stroke-7f96c8b224099f1c0e5c6996984fe79558e0d550.zip stroke-7f96c8b224099f1c0e5c6996984fe79558e0d550.tar.bz2 |
Update Queries.
Updates RawXMLPayload Element, SoftwareVersion Element.
Updates IQRouter, Request, Responder, SoftwareVersionResponder.
Updates ErrorSerilaizer access.
Adds RawRequest, GetInBandRegistrationFormRequest, GetSoftwareVersionRequest,
and SetInBandRegistrationRequest.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Tests added for: IQRouter, Request and Responder.
Rest, all tests passes.
Change-Id: I22308cc05bd1a6c28f3937a44d997e1da47e2891
Diffstat (limited to 'src/com/isode/stroke/queries/RawRequest.java')
-rw-r--r-- | src/com/isode/stroke/queries/RawRequest.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/com/isode/stroke/queries/RawRequest.java b/src/com/isode/stroke/queries/RawRequest.java new file mode 100644 index 0000000..eaa31bc --- /dev/null +++ b/src/com/isode/stroke/queries/RawRequest.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2011-2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.queries; + +import com.isode.stroke.queries.Request; +import com.isode.stroke.elements.RawXMLPayload; +import com.isode.stroke.elements.ErrorPayload; +import com.isode.stroke.elements.Payload; +import com.isode.stroke.elements.IQ; +import com.isode.stroke.jid.JID; +import com.isode.stroke.serializer.PayloadSerializer; +import com.isode.stroke.serializer.payloadserializers.ErrorSerializer; +import com.isode.stroke.serializer.payloadserializers.FullPayloadSerializerCollection; +import com.isode.stroke.signals.Signal1; +import com.isode.stroke.signals.SignalConnection; + +public class RawRequest extends Request { + + private FullPayloadSerializerCollection serializers = new FullPayloadSerializerCollection(); + + public RawRequest(IQ.Type type, final JID receiver, final String data, IQRouter router) { + super(type, receiver, new RawXMLPayload(data), router); + } + + public static RawRequest create(IQ.Type type, final JID recipient, final String data, IQRouter router) { + return new RawRequest(type, recipient, data, router); + } + + public final Signal1<String> onResponse = new Signal1<String>(); + + protected void handleResponse(Payload payload, ErrorPayload error) { + if (error != null) { + onResponse.emit(new ErrorSerializer(serializers).serializePayload(error)); + } + else { + assert(payload != null); + PayloadSerializer serializer = serializers.getPayloadSerializer(payload); + assert(serializer != null); + onResponse.emit(serializer.serialize(payload)); + } + } +} + |