示例#1
0
func (elm *Presence) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "presence"); err != nil {
		return err
	}
	if elm.From != nil {
		if err = e.Attribute("", "from", elm.From.String()); err != nil {
			return err
		}
	}
	if elm.To != nil {
		if err = e.Attribute("", "to", elm.To.String()); err != nil {
			return err
		}
	}
	if elm.Id != nil {
		if err = e.Attribute("", "id", *elm.Id); err != nil {
			return err
		}
	}
	if elm.Type != nil {
		if err = e.Attribute("", "type", string(*elm.Type)); err != nil {
			return err
		}
	}
	if elm.Lang != nil {
		if err = e.Attribute("http://www.w3.org/XML/1998/namespace", "lang", string(*elm.Lang)); err != nil {
			return err
		}
	}
	if elm.Show != nil {
		if err = e.SimpleElement(NS, "show", string(*elm.Show)); err != nil {
			return err
		}
	}
	if elm.Status != nil {
		if err = e.SimpleElement(NS, "status", *elm.Status); err != nil {
			return err
		}
	}
	if elm.Priority != nil {
		if err = e.SimpleElement(NS, "priority", strconv.FormatInt(int64(*elm.Priority), 10)); err != nil {
			return err
		}
	}
	for _, x := range elm.X {
		if err = x.(xmlencoder.Extension).Encode(e); err != nil {
			return err
		}
	}
	if elm.Error != nil {
		if err = elm.Error.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#2
0
func (elm *Delete) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "delete"); err != nil {
		return err
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	if err = e.StartElement(NS, "redirect"); err != nil {
		return err
	}
	if elm.Redirect.Url != nil {
		if err = e.Attribute("", "url", *elm.Redirect.Url); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#3
0
func (elm *Subscription) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "subscription"); err != nil {
		return err
	}
	if elm.Expiry != nil {
		if err = e.Attribute("", "expiry", elm.Expiry.String()); err != nil {
			return err
		}
	}
	if elm.Jid != nil {
		if err = e.Attribute("", "jid", elm.Jid.String()); err != nil {
			return err
		}
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	if elm.Subid != nil {
		if err = e.Attribute("", "subid", *elm.Subid); err != nil {
			return err
		}
	}
	if elm.Subscription != nil {
		if err = e.Attribute("", "subscription", string(*elm.Subscription)); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#4
0
func (elm *Items) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "items"); err != nil {
		return err
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	for _, x := range elm.Items {
		if err = x.Encode(e); err != nil {
			return err
		}
	}
	for _, x := range elm.Retracts {
		if err = x.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#5
0
func (elm *Collection) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "collection"); err != nil {
		return err
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	if err = e.StartElement(NS, string(*elm.Type.Type)); err != nil {
		return err
	}
	if elm.Type.Node != nil {
		if err = e.Attribute("", "node", *elm.Type.Node); err != nil {
			return err
		}
	}
	if elm.Type.Type != nil {
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#6
0
func (elm *Start) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.SetPrefix("stream", "http://etherx.jabber.org/streams"); err != nil {
		return err
	}
	if err = e.StartElement(NS, "stream"); err != nil {
		return err
	}
	if elm.To != nil {
		if err = e.Attribute("", "to", elm.To.String()); err != nil {
			return err
		}
	}
	if elm.From != nil {
		if err = e.Attribute("", "from", elm.From.String()); err != nil {
			return err
		}
	}
	if elm.Id != nil {
		if err = e.Attribute("", "id", *elm.Id); err != nil {
			return err
		}
	}
	if elm.Version != nil {
		if err = e.Attribute("", "version", *elm.Version); err != nil {
			return err
		}
	}
	if elm.Lang != nil {
		if err = e.Attribute("http://www.w3.org/XML/1998/namespace", "lang", string(*elm.Lang)); err != nil {
			return err
		}
	}
	return nil
}
示例#7
0
func (elm *Info) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "query"); err != nil {
		return err
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	for _, x := range elm.Identities {
		if err = x.Encode(e); err != nil {
			return err
		}
	}
	for _, x := range elm.Features {
		if err = x.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#8
0
func (elm *Item) Encode(e *xmlencoder.Encoder) error {
var err error
if err = e.StartElement(NS, "item"); err != nil { return err }
if elm.Affiliation != nil {
if err = e.Attribute("", "affiliation", string(*elm.Affiliation)); err != nil { return err }
}
if elm.Jid != nil {
if err = e.Attribute("", "jid", elm.Jid.String()); err != nil { return err }
}
if elm.Nick != nil {
if err = e.Attribute("", "nick", *elm.Nick); err != nil { return err }
}
if elm.Role != nil {
if err = e.Attribute("", "role", string(*elm.Role)); err != nil { return err }
}
if err = e.StartElement(NS, "actor"); err != nil { return err }
if elm.Actor.Jid != nil {
if err = e.Attribute("", "jid", elm.Actor.Jid.String()); err != nil { return err }
}
if err = e.EndElement(); err != nil { return err }
if elm.Reason != nil {
if err = e.SimpleElement(NS, "reason", *elm.Reason); err != nil { return err }
}
if elm.Continue {
if err = e.StartElement(NS, "continue"); err != nil { return err }
if err = e.EndElement(); err != nil { return err }
}
if err = e.EndElement(); err != nil { return err }
return nil
}
示例#9
0
func (elm *Status) Encode(e *xmlencoder.Encoder) error {
var err error
if err = e.StartElement(NS, "status"); err != nil { return err }
if elm.Code != nil {
if err = e.Attribute("", "code", strconv.FormatInt(int64(*elm.Code), 10)); err != nil { return err }
}
if err = e.EndElement(); err != nil { return err }
return nil
}
示例#10
0
func (elm *Message) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "message"); err != nil {
		return err
	}
	if elm.From != nil {
		if err = e.Attribute("", "from", elm.From.String()); err != nil {
			return err
		}
	}
	if elm.To != nil {
		if err = e.Attribute("", "to", elm.To.String()); err != nil {
			return err
		}
	}
	if elm.Id != nil {
		if err = e.Attribute("", "id", *elm.Id); err != nil {
			return err
		}
	}
	if elm.Type != nil {
		if err = e.Attribute("", "type", string(*elm.Type)); err != nil {
			return err
		}
	}
	if elm.Lang != nil {
		if err = e.Attribute("http://www.w3.org/XML/1998/namespace", "lang", string(*elm.Lang)); err != nil {
			return err
		}
	}
	if elm.Thread != nil {
		if err = e.SimpleElement(NS, "thread", *elm.Thread); err != nil {
			return err
		}
	}
	if elm.Subject != nil {
		elm.Subject.Encode(e, NS, "subject")
	}
	if elm.Body != nil {
		elm.Body.Encode(e, NS, "body")
	}
	for _, x := range elm.X {
		if err = x.(xmlencoder.Extension).Encode(e); err != nil {
			return err
		}
	}
	if elm.Error != nil {
		if err = elm.Error.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#11
0
func (elm *Destroy) Encode(e *xmlencoder.Encoder) error {
var err error
if err = e.StartElement(NS, "destroy"); err != nil { return err }
if elm.Jid != nil {
if err = e.Attribute("", "jid", elm.Jid.String()); err != nil { return err }
}
if elm.Reason != nil {
if err = e.SimpleElement(NS, "reason", *elm.Reason); err != nil { return err }
}
if err = e.EndElement(); err != nil { return err }
return nil
}
示例#12
0
func (elm *Caps) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "c"); err != nil {
		return err
	}
	if elm.Ext != nil {
		if err = e.Attribute("", "ext", *elm.Ext); err != nil {
			return err
		}
	}
	if elm.Hash != nil {
		if err = e.Attribute("", "hash", *elm.Hash); err != nil {
			return err
		}
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	if elm.Ver != nil {
		if err = e.Attribute("", "ver", *elm.Ver); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#13
0
func (elm *Invite) Encode(e *xmlencoder.Encoder) error {
var err error
if err = e.StartElement(NS, "invite"); err != nil { return err }
if elm.From != nil {
if err = e.Attribute("", "from", elm.From.String()); err != nil { return err }
}
if elm.To != nil {
if err = e.Attribute("", "to", elm.To.String()); err != nil { return err }
}
if elm.Reason != nil {
if err = e.SimpleElement(NS, "reason", *elm.Reason); err != nil { return err }
}
if err = e.EndElement(); err != nil { return err }
return nil
}
示例#14
0
func (elm *Retract) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "retract"); err != nil {
		return err
	}
	if elm.Id != nil {
		if err = e.Attribute("", "id", *elm.Id); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#15
0
func (elm *Purge) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "purge"); err != nil {
		return err
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#16
0
func (elm *Feature) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "feature"); err != nil {
		return err
	}
	if elm.Var != nil {
		if err = e.Attribute("", "var", *elm.Var); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#17
0
func (elm *Iq) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "iq"); err != nil {
		return err
	}
	if elm.From != nil {
		if err = e.Attribute("", "from", elm.From.String()); err != nil {
			return err
		}
	}
	if elm.To != nil {
		if err = e.Attribute("", "to", elm.To.String()); err != nil {
			return err
		}
	}
	if elm.Id != nil {
		if err = e.Attribute("", "id", *elm.Id); err != nil {
			return err
		}
	}
	if elm.Type != nil {
		if err = e.Attribute("", "type", string(*elm.Type)); err != nil {
			return err
		}
	}
	if elm.Lang != nil {
		if err = e.Attribute("http://www.w3.org/XML/1998/namespace", "lang", string(*elm.Lang)); err != nil {
			return err
		}
	}
	if elm.Payload != nil {
		if err = elm.Payload.(xmlencoder.Extension).Encode(e); err != nil {
			return err
		}
	}
	if elm.Error != nil {
		if err = elm.Error.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#18
0
func (elm *Identity) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "identity"); err != nil {
		return err
	}
	if elm.Category != nil {
		if err = e.Attribute("", "category", *elm.Category); err != nil {
			return err
		}
	}
	if elm.Type != nil {
		if err = e.Attribute("", "type", *elm.Type); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#19
0
func (elm *Option) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "option"); err != nil {
		return err
	}
	if elm.Label != nil {
		if err = e.Attribute("", "label", *elm.Label); err != nil {
			return err
		}
	}
	if elm.Value != nil {
		if err = e.SimpleElement(NS, "value", *elm.Value); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#20
0
func (elm *Configuration) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "configuration"); err != nil {
		return err
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	if elm.Xdata != nil {
		if err = elm.Xdata.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#21
0
func (elm *Last) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "query"); err != nil {
		return err
	}
	if elm.Seconds != nil {
		if err = e.Attribute("", "seconds", strconv.FormatUint(uint64(*elm.Seconds), 10)); err != nil {
			return err
		}
	}
	if elm.Extra != nil {
		if err = e.Text(*elm.Extra); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#22
0
func (elm *Auth) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "auth"); err != nil {
		return err
	}
	if elm.Mechanism != nil {
		if err = e.Attribute("", "mechanism", *elm.Mechanism); err != nil {
			return err
		}
	}
	if elm.Data != nil {
		if err = e.Bytes(elm.Data); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#23
0
func (elm *List) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "list"); err != nil {
		return err
	}
	if elm.Name != nil {
		if err = e.Attribute("", "name", *elm.Name); err != nil {
			return err
		}
	}
	for _, x := range elm.Items {
		if err = x.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#24
0
func (elm *Default) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "default"); err != nil {
		return err
	}
	if elm.Name != nil {
		if err = e.Attribute("", "name", *elm.Name); err != nil {
			return err
		}
	}
	if elm.Extra != nil {
		if err = e.Text(*elm.Extra); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#25
0
func (elm *Roster) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "query"); err != nil {
		return err
	}
	if elm.Ver != nil {
		if err = e.Attribute("", "ver", *elm.Ver); err != nil {
			return err
		}
	}
	for _, x := range elm.Items {
		if err = x.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#26
0
func (elm *Stat) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "stat"); err != nil {
		return err
	}
	if elm.Name != nil {
		if err = e.Attribute("", "name", *elm.Name); err != nil {
			return err
		}
	}
	if elm.Units != nil {
		if err = e.Attribute("", "units", *elm.Units); err != nil {
			return err
		}
	}
	if elm.Value != nil {
		if err = e.Attribute("", "value", *elm.Value); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#27
0
func (elm *Item) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "item"); err != nil {
		return err
	}
	if elm.Id != nil {
		if err = e.Attribute("", "id", *elm.Id); err != nil {
			return err
		}
	}
	if elm.Node != nil {
		if err = e.Attribute("", "node", *elm.Node); err != nil {
			return err
		}
	}
	if elm.Publisher != nil {
		if err = e.Attribute("", "publisher", *elm.Publisher); err != nil {
			return err
		}
	}
	if elm.Event != nil {
		if err = elm.Event.(xmlencoder.Extension).Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#28
0
func (elm *Item) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "item"); err != nil {
		return err
	}
	if elm.Approved {
		if err = e.Attribute("", "approved", strconv.FormatBool(elm.Approved)); err != nil {
			return err
		}
	}
	if elm.Ask != nil {
		if err = e.Attribute("", "ask", string(*elm.Ask)); err != nil {
			return err
		}
	}
	if elm.Jid != nil {
		if err = e.Attribute("", "jid", elm.Jid.String()); err != nil {
			return err
		}
	}
	if elm.Name != nil {
		if err = e.Attribute("", "name", *elm.Name); err != nil {
			return err
		}
	}
	if elm.Subscription != nil {
		if err = e.Attribute("", "subscription", string(*elm.Subscription)); err != nil {
			return err
		}
	}
	for _, x := range elm.Group {
		if err = e.SimpleElement(NS, "group", x); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#29
0
func (elm *X) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "x"); err != nil {
		return err
	}
	if elm.Type != nil {
		if err = e.Attribute("", "type", string(*elm.Type)); err != nil {
			return err
		}
	}
	if elm.Title != nil {
		if err = e.SimpleElement(NS, "title", *elm.Title); err != nil {
			return err
		}
	}
	if err = e.StartElement(NS, "reported"); err != nil {
		return err
	}
	for _, x := range elm.Reported {
		if err = x.Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	for _, x := range elm.Fields {
		if err = x.(xmlencoder.Extension).Encode(e); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}
示例#30
0
文件: muc_data.go 项目: oxpa/bullxmpp
func (elm *Enter) Encode(e *xmlencoder.Encoder) error {
	var err error
	if err = e.StartElement(NS, "x"); err != nil {
		return err
	}
	if err = e.StartElement(NS, "history"); err != nil {
		return err
	}
	if elm.History.Maxchars != nil {
		if err = e.Attribute("", "maxchars", strconv.FormatInt(int64(*elm.History.Maxchars), 10)); err != nil {
			return err
		}
	}
	if elm.History.Maxstanzas != nil {
		if err = e.Attribute("", "maxstanzas", strconv.FormatInt(int64(*elm.History.Maxstanzas), 10)); err != nil {
			return err
		}
	}
	if elm.History.Seconds != nil {
		if err = e.Attribute("", "seconds", strconv.FormatInt(int64(*elm.History.Seconds), 10)); err != nil {
			return err
		}
	}
	if elm.History.Since != nil {
		if err = e.Attribute("", "since", elm.History.Since.String()); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	if elm.Password != nil {
		if err = e.SimpleElement(NS, "password", *elm.Password); err != nil {
			return err
		}
	}
	if err = e.EndElement(); err != nil {
		return err
	}
	return nil
}