41 lines
756 B
Go
41 lines
756 B
Go
package xmpp
|
|
|
|
import (
|
|
"encoding/xml"
|
|
)
|
|
|
|
type PubSub struct {
|
|
XMLName xml.Name `xml:"http://jabber.org/protocol/pubsub pubsub"`
|
|
Publish *Publish
|
|
Retract *Retract
|
|
// TODO <configure/>
|
|
}
|
|
|
|
func (p *PubSub) Namespace() string {
|
|
return p.XMLName.Space
|
|
}
|
|
|
|
type Publish struct {
|
|
XMLName xml.Name `xml:"publish"`
|
|
Node string `xml:"node,attr"`
|
|
Item Item
|
|
}
|
|
|
|
type Item struct {
|
|
XMLName xml.Name `xml:"item"`
|
|
Id string `xml:"id,attr,omitempty"`
|
|
Tune *Tune
|
|
Mood *Mood
|
|
}
|
|
|
|
type Retract struct {
|
|
XMLName xml.Name `xml:"retract"`
|
|
Node string `xml:"node,attr"`
|
|
Notify string `xml:"notify,attr"`
|
|
Item Item
|
|
}
|
|
|
|
func init() {
|
|
TypeRegistry.MapExtension(PKTIQ, xml.Name{"http://jabber.org/protocol/pubsub", "pubsub"}, PubSub{})
|
|
}
|