clientMessage add ",any" tag, use for hasn't matched element

This commit is contained in:
Specode 2013-10-30 17:13:02 +08:00
parent ba140e5eb7
commit cbdf478ba7

View File

@ -367,6 +367,7 @@ type Chat struct {
Remote string Remote string
Type string Type string
Text string Text string
Other []string
} }
type Presence struct { type Presence struct {
@ -385,7 +386,7 @@ func (c *Client) Recv() (event interface{}, err error) {
} }
switch v := val.(type) { switch v := val.(type) {
case *clientMessage: case *clientMessage:
return Chat{v.From, v.Type, v.Body}, nil return Chat{v.From, v.Type, v.Body, v.Other}, nil
case *clientPresence: case *clientPresence:
return Presence{v.From, v.To, v.Type, v.Show}, nil return Presence{v.From, v.To, v.Type, v.Show}, nil
} }
@ -488,6 +489,11 @@ type clientMessage struct {
Subject string `xml:"subject"` Subject string `xml:"subject"`
Body string `xml:"body"` Body string `xml:"body"`
Thread string `xml:"thread"` Thread string `xml:"thread"`
Other []string `xml:",any"`
// // Any hasn't matched element
// Other string `xml:",any"`
} }
type clientText struct { type clientText struct {