summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Elements/IQ.cpp')
-rw-r--r--Swiften/Elements/IQ.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/Swiften/Elements/IQ.cpp b/Swiften/Elements/IQ.cpp
index 9df6ef4..abf32e9 100644
--- a/Swiften/Elements/IQ.cpp
+++ b/Swiften/Elements/IQ.cpp
@@ -21,8 +21,7 @@ boost::shared_ptr<IQ> IQ::createRequest(
return iq;
}
-boost::shared_ptr<IQ> IQ::createResult(
- const JID& to, const String& id, boost::shared_ptr<Payload> payload) {
+boost::shared_ptr<IQ> IQ::createResult(const JID& to, const String& id, boost::shared_ptr<Payload> payload) {
boost::shared_ptr<IQ> iq(new IQ(Result));
iq->setTo(to);
iq->setID(id);
@@ -32,6 +31,17 @@ boost::shared_ptr<IQ> IQ::createResult(
return iq;
}
+boost::shared_ptr<IQ> IQ::createResult(const JID& to, const JID& from, const String& id, boost::shared_ptr<Payload> payload) {
+ boost::shared_ptr<IQ> iq(new IQ(Result));
+ iq->setTo(to);
+ iq->setFrom(from);
+ iq->setID(id);
+ if (payload) {
+ iq->addPayload(payload);
+ }
+ return iq;
+}
+
boost::shared_ptr<IQ> IQ::createError(const JID& to, const String& id, ErrorPayload::Condition condition, ErrorPayload::Type type) {
boost::shared_ptr<IQ> iq(new IQ(IQ::Error));
iq->setTo(to);
@@ -40,4 +50,13 @@ boost::shared_ptr<IQ> IQ::createError(const JID& to, const String& id, ErrorPayl
return iq;
}
+boost::shared_ptr<IQ> IQ::createError(const JID& to, const JID& from, const String& id, ErrorPayload::Condition condition, ErrorPayload::Type type) {
+ boost::shared_ptr<IQ> iq(new IQ(IQ::Error));
+ iq->setTo(to);
+ iq->setFrom(from);
+ iq->setID(id);
+ iq->addPayload(boost::shared_ptr<Swift::ErrorPayload>(new Swift::ErrorPayload(condition, type)));
+ return iq;
+}
+
}