summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-11-24 21:56:19 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-11-24 22:31:48 (GMT)
commit9b1e36b4fe08f32896e92abdb6fc7e3dad501160 (patch)
tree092ba87f84238665b938198af29fc5894c55382a /Swiften/Elements/Presence.h
parent48fc9e9fb0abd42d47a95042837a026730f20f34 (diff)
downloadswift-9b1e36b4fe08f32896e92abdb6fc7e3dad501160.zip
swift-9b1e36b4fe08f32896e92abdb6fc7e3dad501160.tar.bz2
Added PresenceSender object.
Diffstat (limited to 'Swiften/Elements/Presence.h')
-rw-r--r--Swiften/Elements/Presence.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/Swiften/Elements/Presence.h b/Swiften/Elements/Presence.h
index 002ed0e..a1f15fa 100644
--- a/Swiften/Elements/Presence.h
+++ b/Swiften/Elements/Presence.h
@@ -1,61 +1,58 @@
-#ifndef SWIFTEN_Presence
-#define SWIFTEN_Presence
+#pragma once
#include "Swiften/Elements/Stanza.h"
#include "Swiften/Elements/Status.h"
#include "Swiften/Elements/StatusShow.h"
#include "Swiften/Elements/Priority.h"
namespace Swift {
class Presence : public Stanza
{
public:
enum Type { Available, Error, Probe, Subscribe, Subscribed, Unavailable, Unsubscribe, Unsubscribed };
Presence() : type_(Available) /*, showType_(Online)*/ {}
Presence(const String& status) : type_(Available) {
setStatus(status);
}
Type getType() const { return type_; }
void setType(Type type) { type_ = type; }
StatusShow::Type getShow() const {
boost::shared_ptr<StatusShow> show(getPayload<StatusShow>());
if (show) {
return show->getType();
}
return type_ == Available ? StatusShow::Online : StatusShow::None;
}
void setShow(const StatusShow::Type &show) {
updatePayload(boost::shared_ptr<StatusShow>(new StatusShow(show)));
}
String getStatus() const {
boost::shared_ptr<Status> status(getPayload<Status>());
if (status) {
return status->getText();
}
return "";
}
void setStatus(const String& status) {
updatePayload(boost::shared_ptr<Status>(new Status(status)));
}
int getPriority() const {
boost::shared_ptr<Priority> priority(getPayload<Priority>());
return (priority ? priority->getPriority() : 0);
}
void setPriority(int priority) {
updatePayload(boost::shared_ptr<Priority>(new Priority(priority)));
}
private:
Presence::Type type_;
};
}
-
-#endif