diff options
Diffstat (limited to 'Swiften/Queries/Request.h')
-rw-r--r-- | Swiften/Queries/Request.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Swiften/Queries/Request.h b/Swiften/Queries/Request.h index 677a758..668ed04 100644 --- a/Swiften/Queries/Request.h +++ b/Swiften/Queries/Request.h @@ -33,40 +33,64 @@ namespace Swift { /** * Constructs a request of a certain type to a specific receiver, and attaches the given * payload. */ Request( IQ::Type type, const JID& receiver, boost::shared_ptr<Payload> payload, IQRouter* router); + + /** + * Constructs a request of a certain type to a specific receiver from a specific sender, and attaches the given + * payload. + */ + Request( + IQ::Type type, + const JID& sender, + const JID& receiver, + boost::shared_ptr<Payload> payload, + IQRouter* router); + + /** * Constructs a request of a certain type to a specific receiver. */ Request( IQ::Type type, const JID& receiver, IQRouter* router); + /** + * Constructs a request of a certain type to a specific receiver from a specific sender. + */ + Request( + IQ::Type type, + const JID& sender, + const JID& receiver, + IQRouter* router); + + virtual void setPayload(boost::shared_ptr<Payload> payload) { payload_ = payload; } boost::shared_ptr<Payload> getPayload() const { return payload_; } virtual void handleResponse(boost::shared_ptr<Payload>, boost::shared_ptr<ErrorPayload>) = 0; private: bool handleIQ(boost::shared_ptr<IQ>); bool isCorrectSender(const JID& jid); private: IQRouter* router_; IQ::Type type_; + JID sender_; JID receiver_; boost::shared_ptr<Payload> payload_; std::string id_; bool sent_; }; } |