mirror of
				https://github.com/FluuxIO/go-xmpp.git
				synced 2025-11-03 08:43:44 -08:00 
			
		
		
		
	Allow formatting IOT Control SetResponse
This commit is contained in:
		@@ -2,16 +2,6 @@ package iot
 | 
			
		||||
 | 
			
		||||
import "encoding/xml"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
type Control struct {
 | 
			
		||||
	ControlSet     ControlSet     `xml:",omitempty"`
 | 
			
		||||
	ControlGetForm ControlGetForm `xml:",omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*Control) IQPayload() {
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
type ControlSet struct {
 | 
			
		||||
	XMLName xml.Name       `xml:"urn:xmpp:iot:control set"`
 | 
			
		||||
	Fields  []ControlField `xml:",any"`
 | 
			
		||||
@@ -29,3 +19,10 @@ type ControlField struct {
 | 
			
		||||
	Name    string `xml:"name,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 (
 | 
			
		||||
	"encoding/xml"
 | 
			
		||||
	"fmt"
 | 
			
		||||
 | 
			
		||||
	"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)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user