summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-07-08 00:28:50 (GMT)
committerNick Hudson <nick.hudson@isode.com>2015-07-22 14:40:56 (GMT)
commit7f96c8b224099f1c0e5c6996984fe79558e0d550 (patch)
treee9b3c600b370ffad139b05b84447aa5c6e3d9e78 /src/com/isode/stroke/queries/RawRequest.java
parent1f2c3add9971e8636013c384938456388b04ed79 (diff)
downloadstroke-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.java52
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));
+ }
+ }
+}
+