summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Presence/PayloadAddingPresenceSender.h')
-rw-r--r--Swiften/Presence/PayloadAddingPresenceSender.h22
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;
};
}