diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-07-01 09:19:49 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-07-01 09:19:49 (GMT) |
commit | 2da71a8a85486a494343f1662d64fb5ae5a2a44e (patch) | |
tree | 23992f9f2a00bac23b345e5c2cc9c1194efc25be /src/com/isode/stroke/elements/Presence.java | |
download | stroke-2da71a8a85486a494343f1662d64fb5ae5a2a44e.zip stroke-2da71a8a85486a494343f1662d64fb5ae5a2a44e.tar.bz2 |
Initial import
Diffstat (limited to 'src/com/isode/stroke/elements/Presence.java')
-rw-r--r-- | src/com/isode/stroke/elements/Presence.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/com/isode/stroke/elements/Presence.java b/src/com/isode/stroke/elements/Presence.java new file mode 100644 index 0000000..f32fb9f --- /dev/null +++ b/src/com/isode/stroke/elements/Presence.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2010, Isode Limited, London, England. + * All rights reserved. + */ +/* + * Copyright (c) 2010, Remko Tron¨on. + * All rights reserved. + */ +package com.isode.stroke.elements; + +public class Presence extends Stanza { + + private Type type_; + + public enum Type { + + Available, Error, Probe, Subscribe, Subscribed, Unavailable, Unsubscribe, Unsubscribed + }; + + public Presence() { + type_ = Type.Available; + } + + public Presence(String status) { + type_ = Type.Available; + setStatus(status); + } + + public Type getType() { + return type_; + } + + public void setType(Type type) { + type_ = type; + } + + public StatusShow.Type getShow() { + StatusShow show = getPayload (new StatusShow()); + if (show != null) { + return show.getType(); + } + return type_ == Type.Available ? StatusShow.Type.Online : StatusShow.Type.None; + } + + public void setShow(StatusShow.Type show) { + updatePayload(new StatusShow(show)); + } + + public String getStatus() { + Status status = getPayload(new Status()); + if (status != null) { + return status.getText(); + } + return ""; + } + + public void setStatus(String status) { + updatePayload(new Status(status)); + } + + public int getPriority() { + Priority priority = getPayload(new Priority()); + return (priority != null ? priority.getPriority() : 0); + } + + public void setPriority(int priority) { + updatePayload(new Priority(priority)); + } +} |