forked from jshiffer/go-xmpp
Move some IQ declaration in their own files
This commit is contained in:
parent
0c7e4588c6
commit
cb9016693c
@ -70,3 +70,10 @@ type sessionSession struct {
|
|||||||
XMLName xml.Name `xml:"urn:ietf:params:xml:ns:xmpp-session session"`
|
XMLName xml.Name `xml:"urn:ietf:params:xml:ns:xmpp-session session"`
|
||||||
Optional xml.Name // If it does exist, it mean we are not required to open session
|
Optional xml.Name // If it does exist, it mean we are not required to open session
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// Registry init
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
TypeRegistry.MapExtension(PKTIQ, xml.Name{"urn:ietf:params:xml:ns:xmpp-bind", "bind"}, BindBind{})
|
||||||
|
}
|
||||||
|
@ -30,3 +30,10 @@ type ControlSetResponse struct {
|
|||||||
func (c *ControlSetResponse) Namespace() string {
|
func (c *ControlSetResponse) Namespace() string {
|
||||||
return c.XMLName.Space
|
return c.XMLName.Space
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// Registry init
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
TypeRegistry.MapExtension(PKTIQ, xml.Name{"urn:xmpp:iot:control", "set"}, ControlSet{})
|
||||||
|
}
|
||||||
|
76
stanza/iq.go
76
stanza/iq.go
@ -128,79 +128,3 @@ func (iq *IQ) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// 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"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// 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{NSDiscoInfo, "query"}, DiscoInfo{})
|
|
||||||
TypeRegistry.MapExtension(PKTIQ, xml.Name{NSDiscoItems, "query"}, DiscoItems{})
|
|
||||||
TypeRegistry.MapExtension(PKTIQ, xml.Name{"urn:ietf:params:xml:ns:xmpp-bind", "bind"}, BindBind{})
|
|
||||||
TypeRegistry.MapExtension(PKTIQ, xml.Name{"urn:xmpp:iot:control", "set"}, ControlSet{})
|
|
||||||
TypeRegistry.MapExtension(PKTIQ, xml.Name{"jabber:iq:version", "query"}, Version{})
|
|
||||||
}
|
|
||||||
|
61
stanza/iq_disco.go
Normal file
61
stanza/iq_disco.go
Normal file
@ -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{})
|
||||||
|
}
|
25
stanza/iq_version.go
Normal file
25
stanza/iq_version.go
Normal file
@ -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
Block a user