Allow formatting IOT Control SetResponse
This commit is contained in:
parent
268acbff07
commit
57835bfcb5
|
@ -2,16 +2,6 @@ package iot
|
||||||
|
|
||||||
import "encoding/xml"
|
import "encoding/xml"
|
||||||
|
|
||||||
/*
|
|
||||||
type Control struct {
|
|
||||||
ControlSet ControlSet `xml:",omitempty"`
|
|
||||||
ControlGetForm ControlGetForm `xml:",omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*Control) IQPayload() {
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
type ControlSet struct {
|
type ControlSet struct {
|
||||||
XMLName xml.Name `xml:"urn:xmpp:iot:control set"`
|
XMLName xml.Name `xml:"urn:xmpp:iot:control set"`
|
||||||
Fields []ControlField `xml:",any"`
|
Fields []ControlField `xml:",any"`
|
||||||
|
@ -29,3 +19,10 @@ type ControlField struct {
|
||||||
Name string `xml:"name,attr,omitempty"`
|
Name string `xml:"name,attr,omitempty"`
|
||||||
Value string `xml:"value,attr,omitempty"`
|
Value string `xml:"value,attr,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ControlSetResponse struct {
|
||||||
|
XMLName xml.Name `xml:"urn:xmpp:iot:control setResponse"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ControlSetResponse) IsIQPayload() {
|
||||||
|
}
|
||||||
|
|
20
xmpp/iq.go
20
xmpp/iq.go
|
@ -2,6 +2,7 @@ package xmpp
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/processone/gox/xmpp/iot"
|
"github.com/processone/gox/xmpp/iot"
|
||||||
)
|
)
|
||||||
|
@ -73,3 +74,22 @@ func (iq *ClientIQ) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (iq *ClientIQ) XMPPFormat() string {
|
||||||
|
if iq.Payload != nil {
|
||||||
|
var payload []byte
|
||||||
|
var err error
|
||||||
|
if payload, err = xml.Marshal(iq.Payload); err != nil {
|
||||||
|
return fmt.Sprintf("<iq to='%s' type='%s' id='%s' xml:lang='en'>"+
|
||||||
|
"</iq>",
|
||||||
|
iq.To, iq.Type, iq.Id)
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("<iq to='%s' type='%s' id='%s' xml:lang='en'>"+
|
||||||
|
"%s</iq>",
|
||||||
|
iq.To, iq.Type, iq.Id, payload)
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("<iq to='%s' type='%s' id='%s' xml:lang='en'>"+
|
||||||
|
"%s</iq>",
|
||||||
|
iq.To, iq.Type, iq.Id,
|
||||||
|
iq.RawXML)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue