Add typing support: XEP-0085: Chat State Notifications
This commit is contained in:
parent
3ea0e38f98
commit
3ccc2680b0
43
msg_chat_state.go
Normal file
43
msg_chat_state.go
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
package xmpp // import "gosrc.io/xmpp"
|
||||||
|
|
||||||
|
import "encoding/xml"
|
||||||
|
|
||||||
|
/*
|
||||||
|
Support for:
|
||||||
|
- XEP-0085 - Chat State Notifications: https://xmpp.org/extensions/xep-0085.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
const NSMsgChatStateNotifications = "http://jabber.org/protocol/chatstates"
|
||||||
|
|
||||||
|
type StateActive struct {
|
||||||
|
MsgExtension
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates active"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type StateComposing struct {
|
||||||
|
MsgExtension
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates composing"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type StateGone struct {
|
||||||
|
MsgExtension
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates gone"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type StateInactive struct {
|
||||||
|
MsgExtension
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates inactive"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type StatePaused struct {
|
||||||
|
MsgExtension
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/chatstates paused"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
TypeRegistry.MapExtension(PKTMessage, xml.Name{NSMsgChatStateNotifications, "active"}, StateActive{})
|
||||||
|
TypeRegistry.MapExtension(PKTMessage, xml.Name{NSMsgChatStateNotifications, "composing"}, StateComposing{})
|
||||||
|
TypeRegistry.MapExtension(PKTMessage, xml.Name{NSMsgChatStateNotifications, "gone"}, StateGone{})
|
||||||
|
TypeRegistry.MapExtension(PKTMessage, xml.Name{NSMsgChatStateNotifications, "inactive"}, StateInactive{})
|
||||||
|
TypeRegistry.MapExtension(PKTMessage, xml.Name{NSMsgChatStateNotifications, "paused"}, StatePaused{})
|
||||||
|
}
|
Loading…
Reference in a new issue