package extensions import ( "encoding/xml" "gosrc.io/xmpp/stanza" ) // PresenceNickExtension is from XEP-0172 type PresenceNickExtension struct { XMLName xml.Name `xml:"http://jabber.org/protocol/nick nick"` Text string `xml:",chardata"` } // PresenceXVCardUpdateExtension is from XEP-0153 type PresenceXVCardUpdateExtension struct { XMLName xml.Name `xml:"vcard-temp:x:update x"` Photo PresenceXVCardUpdatePhoto } // PresenceXVCardUpdatePhoto is from XEP-0153 type PresenceXVCardUpdatePhoto struct { XMLName xml.Name `xml:"photo"` Text string `xml:",chardata"` } // Namespace is a namespace! func (c PresenceNickExtension) Namespace() string { return c.XMLName.Space } // Namespace is a namespace! func (c PresenceXVCardUpdateExtension) Namespace() string { return c.XMLName.Space } func init() { // presence nick stanza.TypeRegistry.MapExtension(stanza.PKTPresence, xml.Name{ "http://jabber.org/protocol/nick", "nick", }, PresenceNickExtension{}) // presence vcard update stanza.TypeRegistry.MapExtension(stanza.PKTPresence, xml.Name{ "vcard-temp:x:update", "x", }, PresenceXVCardUpdateExtension{}) }