mirror of
https://github.com/FluuxIO/go-xmpp
synced 2024-11-11 07:11:03 +00:00
46 lines
1023 B
Go
46 lines
1023 B
Go
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
|
|
}
|
|
|
|
// ---------------
|
|
// Builder helpers
|
|
|
|
// Version builds a default software version payload
|
|
func (iq *IQ) Version() *Version {
|
|
d := Version{
|
|
XMLName: xml.Name{Space: "jabber:iq:version", Local: "query"},
|
|
}
|
|
iq.Payload = &d
|
|
return &d
|
|
}
|
|
|
|
// Set all software version info
|
|
func (v *Version) SetInfo(name, version, os string) *Version {
|
|
v.Name = name
|
|
v.Version = version
|
|
v.OS = os
|
|
return v
|
|
}
|
|
|
|
// ============================================================================
|
|
// Registry init
|
|
|
|
func init() {
|
|
TypeRegistry.MapExtension(PKTIQ, xml.Name{"jabber:iq:version", "query"}, Version{})
|
|
}
|