Basic formatting of user tune publication
This commit is contained in:
parent
a2aab652a9
commit
d26d066540
96
xmpp/pep/user_tune.go
Normal file
96
xmpp/pep/user_tune.go
Normal file
|
@ -0,0 +1,96 @@
|
|||
package pep
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
|
||||
"github.com/processone/gox/xmpp"
|
||||
)
|
||||
|
||||
type iq struct {
|
||||
XMLName xml.Name `xml:"jabber:client iq"`
|
||||
C pubSub // c for "contains"
|
||||
xmpp.Packet // Rename h for "header" ?
|
||||
}
|
||||
|
||||
type pubSub struct {
|
||||
XMLName xml.Name `xml:"http://jabber.org/protocol/pubsub pubsub"`
|
||||
Publish publish
|
||||
}
|
||||
|
||||
type publish struct {
|
||||
XMLName xml.Name `xml:"publish"`
|
||||
Node string `xml:"node,attr"`
|
||||
Item item
|
||||
}
|
||||
|
||||
type item struct {
|
||||
XMLName xml.Name `xml:"item"`
|
||||
Tune Tune
|
||||
}
|
||||
|
||||
type Tune struct {
|
||||
XMLName xml.Name `xml:"http://jabber.org/protocol/tune tune"`
|
||||
Artist string `xml:"artist,omitempty"`
|
||||
Length int `xml:"length,omitempty"`
|
||||
Rating int `xml:"rating,omitempty"`
|
||||
Source string `xml:"source,omitempty"`
|
||||
Title string `xml:"title,omitempty"`
|
||||
Track string `xml:"track,omitempty"`
|
||||
Uri string `xml:"uri,omitempty"`
|
||||
}
|
||||
|
||||
/*
|
||||
type PubsubPublish struct {
|
||||
XMLName xml.Name `xml:"publish"`
|
||||
node string `xml:"node,attr"`
|
||||
item PubSubItem
|
||||
}
|
||||
|
||||
type PubSubItem struct {
|
||||
xmlName xml.Name `xml:"item"`
|
||||
}
|
||||
|
||||
type Thing2 struct {
|
||||
XMLName xml.Name `xml:"publish"`
|
||||
node string `xml:"node,attr"`
|
||||
tune string `xml:"http://jabber.org/protocol/tune item>tune"`
|
||||
}
|
||||
|
||||
type Tune struct {
|
||||
artist string
|
||||
length int
|
||||
rating int
|
||||
source string
|
||||
title string
|
||||
track string
|
||||
uri string
|
||||
}
|
||||
*/
|
||||
|
||||
func (t *Tune) XMPPFormat() (s string) {
|
||||
packet, _ := xml.Marshal(iq{Packet: xmpp.Packet{Id: "tunes", Type: "set"}, C: pubSub{Publish: publish{Node: "http://jabber.org/protocol/tune", Item: item{Tune: *t}}}})
|
||||
return string(packet)
|
||||
}
|
||||
|
||||
/*
|
||||
func (*Tune) XMPPFormat() string {
|
||||
return fmt.Sprintf(
|
||||
`<iq type='set' id='%s'>
|
||||
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
|
||||
<publish node='http://jabber.org/protocol/tune'>
|
||||
<item>
|
||||
<tune xmlns='http://jabber.org/protocol/tune'>
|
||||
<artist>%s</artist>
|
||||
<length>%i</length>
|
||||
<rating>%i</rating>
|
||||
<source>%s</source>
|
||||
<title>%s</title>
|
||||
<track>%s</track>
|
||||
<uri>%s</uri>
|
||||
</tune>
|
||||
</item>
|
||||
</publish>
|
||||
</pubsub>
|
||||
</iq>`)
|
||||
}
|
||||
*/
|
Loading…
Reference in a new issue