parent
0c7e4588c6
commit
cb9016693c
@ -0,0 +1,61 @@
|
|||||||
|
package stanza
|
||||||
|
|
||||||
|
import "encoding/xml"
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// Disco
|
||||||
|
|
||||||
|
const (
|
||||||
|
NSDiscoInfo = "http://jabber.org/protocol/disco#info"
|
||||||
|
NSDiscoItems = "http://jabber.org/protocol/disco#items"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Disco Info
|
||||||
|
type DiscoInfo struct {
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/disco#info query"`
|
||||||
|
Node string `xml:"node,attr,omitempty"`
|
||||||
|
Identity Identity `xml:"identity"`
|
||||||
|
Features []Feature `xml:"feature"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DiscoInfo) Namespace() string {
|
||||||
|
return d.XMLName.Space
|
||||||
|
}
|
||||||
|
|
||||||
|
type Identity struct {
|
||||||
|
XMLName xml.Name `xml:"identity,omitempty"`
|
||||||
|
Name string `xml:"name,attr,omitempty"`
|
||||||
|
Category string `xml:"category,attr,omitempty"`
|
||||||
|
Type string `xml:"type,attr,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Feature struct {
|
||||||
|
XMLName xml.Name `xml:"feature"`
|
||||||
|
Var string `xml:"var,attr"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disco Items
|
||||||
|
type DiscoItems struct {
|
||||||
|
XMLName xml.Name `xml:"http://jabber.org/protocol/disco#items query"`
|
||||||
|
Node string `xml:"node,attr,omitempty"`
|
||||||
|
Items []DiscoItem `xml:"item"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DiscoItems) Namespace() string {
|
||||||
|
return d.XMLName.Space
|
||||||
|
}
|
||||||
|
|
||||||
|
type DiscoItem struct {
|
||||||
|
XMLName xml.Name `xml:"item"`
|
||||||
|
Name string `xml:"name,attr,omitempty"`
|
||||||
|
JID string `xml:"jid,attr,omitempty"`
|
||||||
|
Node string `xml:"node,attr,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// Registry init
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
TypeRegistry.MapExtension(PKTIQ, xml.Name{NSDiscoInfo, "query"}, DiscoInfo{})
|
||||||
|
TypeRegistry.MapExtension(PKTIQ, xml.Name{NSDiscoItems, "query"}, DiscoItems{})
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package stanza
|
||||||
|
|
||||||
|
import "encoding/xml"
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// Software Version (XEP-0092)
|
||||||
|
|
||||||
|
// Version
|
||||||
|
type Version struct {
|
||||||
|
XMLName xml.Name `xml:"jabber:iq:version query"`
|
||||||
|
Name string `xml:"name,omitempty"`
|
||||||
|
Version string `xml:"version,omitempty"`
|
||||||
|
OS string `xml:"os,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *Version) Namespace() string {
|
||||||
|
return v.XMLName.Space
|
||||||
|
}
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// Registry init
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
TypeRegistry.MapExtension(PKTIQ, xml.Name{"jabber:iq:version", "query"}, Version{})
|
||||||
|
}
|
Loading…
Reference in new issue