1package data
2
3import "encoding/xml"
4
5// StreamFeatures contain information about the features this stream supports
6// RFC 3920  C.1  Streams name space
7//TODO RFC 6120 obsoletes RFC 3920
8type StreamFeatures struct {
9	XMLName            xml.Name `xml:"http://etherx.jabber.org/streams features"`
10	StartTLS           StartTLS
11	Mechanisms         SaslMechanisms
12	Bind               BindBind
13	InBandRegistration *InBandRegistration
14
15	// This is a hack for now to get around the fact that the new encoding/xml
16	// doesn't unmarshal to XMLName elements.
17	Session *string `xml:"session"`
18
19	//TODO: Support additional features, like
20	//https://xmpp.org/extensions/xep-0115.html
21	//Roster versioning: rfc6121 section 2.6
22	//and the features described here
23	//https://xmpp.org/registrar/stream-features.html
24	any []Any `xml:",any,omitempty"`
25}
26
27// StreamClose represents a request to close the stream
28type StreamClose struct{}
29