00001
00002
00003
00004
00005
00006
00007 #pragma once
00008
00009 #include <Swiften/Base/API.h>
00010 #include <Swiften/Presence/PresenceSender.h>
00011 #include <Swiften/Elements/Payload.h>
00012
00013 namespace Swift {
00014 class StanzaChannel;
00015
00021 class SWIFTEN_API PayloadAddingPresenceSender : public PresenceSender {
00022 public:
00023 PayloadAddingPresenceSender(PresenceSender*);
00024
00025 void sendPresence(boost::shared_ptr<Presence>);
00026 bool isAvailable() const;
00027
00034 void setPayload(boost::shared_ptr<Payload>);
00035
00042 void reset();
00043
00044 private:
00045 boost::shared_ptr<Presence> lastSentPresence;
00046 PresenceSender* sender;
00047 boost::shared_ptr<Payload> payload;
00048 };
00049 }