diff options
Diffstat (limited to 'Swiften/Presence/PayloadAddingPresenceSender.h')
-rw-r--r-- | Swiften/Presence/PayloadAddingPresenceSender.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/Swiften/Presence/PayloadAddingPresenceSender.h b/Swiften/Presence/PayloadAddingPresenceSender.h index ae82970..333842a 100644 --- a/Swiften/Presence/PayloadAddingPresenceSender.h +++ b/Swiften/Presence/PayloadAddingPresenceSender.h @@ -6,8 +6,8 @@ #pragma once -#include "Swiften/Presence/PresenceSender.h" -#include "Swiften/Elements/Payload.h" +#include <Swiften/Presence/PresenceSender.h> +#include <Swiften/Elements/Payload.h> namespace Swift { class StanzaChannel; @@ -21,20 +21,28 @@ namespace Swift { public: PayloadAddingPresenceSender(PresenceSender*); - void sendPresence(Presence::ref); + void sendPresence(boost::shared_ptr<Presence>); bool isAvailable() const; /** * Sets the payload to be added to outgoing presences. * If initial presence has been sent, this will resend the last sent presence * with an updated payload. Initial presence is reset when unavailable presence is - * sent. + * sent, or when reset() is called. */ - void setPayload(Payload::ref); + void setPayload(boost::shared_ptr<Payload>); + + /** + * Resets the presence sender. + * This puts the presence sender back in the initial state (before initial + * presence has been sent). + * This also resets the chained sender. + */ + void reset(); private: - Presence::ref lastSentPresence; + boost::shared_ptr<Presence> lastSentPresence; PresenceSender* sender; - Payload::ref payload; + boost::shared_ptr<Payload> payload; }; } |