From dacdc4ac04acc450e1d107f6e90c9ae3522ee1ff Mon Sep 17 00:00:00 2001 From: Chteufleur Date: Sun, 4 Sep 2016 14:52:07 +0200 Subject: [PATCH] Add support for chatstates notification (XEP-0085) --- src/xmpp/chatStateNotification.go | 27 +++++++++++++++++++++++++++ src/xmpp/stanza.go | 9 ++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/xmpp/chatStateNotification.go diff --git a/src/xmpp/chatStateNotification.go b/src/xmpp/chatStateNotification.go new file mode 100644 index 0000000..e2b80b0 --- /dev/null +++ b/src/xmpp/chatStateNotification.go @@ -0,0 +1,27 @@ +package xmpp + +import ( + "encoding/xml" +) + +const ( + NSChatStatesNotification = "http://jabber.org/protocol/chatstates" +) + +// XEP-0085: Chat States Notification + +type Active struct { + XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates active"` +} +type Composing struct { + XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates composing"` +} +type Paused struct { + XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates paused"` +} +type Inactive struct { + XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates inactive"` +} +type Gone struct { + XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates gone"` +} diff --git a/src/xmpp/stanza.go b/src/xmpp/stanza.go index 33c4b0c..632da6d 100644 --- a/src/xmpp/stanza.go +++ b/src/xmpp/stanza.go @@ -76,7 +76,14 @@ type Message struct { Body string `xml:"body,omitempty"` Thread string `xml:"thread,omitempty"` Error *Error `xml:"error"` - Confir *Confirm `xml:"confirm"` + + Confir *Confirm `xml:"confirm"` // XEP-0070 + + Active *Active `xml:"active"` // XEP-0085 + Composing *Composing `xml:"composing"` // XEP-0085 + Paused *Paused `xml:"paused"` // XEP-0085 + Inactive *Inactive `xml:"inactive"` // XEP-0085 + Gone *Gone `xml:"gone"` // XEP-0085 } // XMPP stanza.