00001
00002
00003
00004
00005
00006
00007 #pragma once
00008
00009 #include <Swiften/Base/boost_bsignals.h>
00010 #include <boost/shared_ptr.hpp>
00011
00012 #include <Swiften/Queries/Request.h>
00013 #include <Swiften/Elements/InBandRegistrationPayload.h>
00014
00015
00016 namespace Swift {
00017 class SetInBandRegistrationRequest : public Request {
00018 public:
00019 typedef boost::shared_ptr<SetInBandRegistrationRequest> ref;
00020
00021 static ref create(const JID& to, InBandRegistrationPayload::ref payload, IQRouter* router) {
00022 return ref(new SetInBandRegistrationRequest(to, payload, router));
00023 }
00024
00025 private:
00026 SetInBandRegistrationRequest(const JID& to, InBandRegistrationPayload::ref payload, IQRouter* router) : Request(IQ::Set, to, InBandRegistrationPayload::ref(payload), router) {
00027 }
00028
00029 virtual void handleResponse(boost::shared_ptr<Payload> payload, ErrorPayload::ref error) {
00030 onResponse(payload, error);
00031 }
00032
00033 public:
00034 boost::signal<void (boost::shared_ptr<Payload>, ErrorPayload::ref)> onResponse;
00035 };
00036 }