summaryrefslogtreecommitdiffstats
blob: 4d5267633805c3bcc8fc35f1147a99437435aa88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 * Copyright (c) 2010-2015, Isode Limited, London, England.
 * All rights reserved.
 */
package com.isode.stroke.roster;

import com.isode.stroke.elements.ErrorPayload;
import com.isode.stroke.elements.IQ;
import com.isode.stroke.elements.Payload;
import com.isode.stroke.elements.RosterPayload;
import com.isode.stroke.jid.JID;
import com.isode.stroke.queries.IQRouter;
import com.isode.stroke.queries.Request;
import com.isode.stroke.signals.Signal1;

public class SetRosterRequest extends Request {

	static SetRosterRequest create(RosterPayload payload, IQRouter router) {
		return new SetRosterRequest(new JID(), payload, router);
	}

	static SetRosterRequest create(RosterPayload payload, final JID to, IQRouter router) {
		return new SetRosterRequest(to, payload, router);
	}

	private SetRosterRequest(final JID to, RosterPayload payload, IQRouter router) {
		super(IQ.Type.Set, to, payload, router);
	}

	public void handleResponse(Payload payload, ErrorPayload error) {
		onResponse.emit(error);
	}

	final Signal1<ErrorPayload> onResponse = new Signal1<ErrorPayload>();

}