structs.go
changeset 49 8e140810be02
parent 43 82e90aa25dad
child 51 1af366d10d32
equal deleted inserted replaced
48:6b402eb552f5 49:8e140810be02
   299 	if st.GetLang() != "" {
   299 	if st.GetLang() != "" {
   300 		writeField(buf, "xml:lang", st.GetLang())
   300 		writeField(buf, "xml:lang", st.GetLang())
   301 	}
   301 	}
   302 	buf.WriteString(">")
   302 	buf.WriteString(">")
   303 
   303 
       
   304 	if m, ok := st.(*Message) ; ok {
       
   305 		err := xml.Marshal(buf, m.Subject)
       
   306 		if err != nil {
       
   307 			return nil, err
       
   308 		}
       
   309 		err = xml.Marshal(buf, m.Body)
       
   310 		if err != nil {
       
   311 			return nil, err
       
   312 		}
       
   313 		err = xml.Marshal(buf, m.Thread)
       
   314 		if err != nil {
       
   315 			return nil, err
       
   316 		}
       
   317 	}
       
   318 	if p, ok := st.(*Presence) ; ok {
       
   319 		err := xml.Marshal(buf, p.Show)
       
   320 		if err != nil {
       
   321 			return nil, err
       
   322 		}
       
   323 		err = xml.Marshal(buf, p.Status)
       
   324 		if err != nil {
       
   325 			return nil, err
       
   326 		}
       
   327 		err = xml.Marshal(buf, p.Priority)
       
   328 		if err != nil {
       
   329 			return nil, err
       
   330 		}
       
   331 	}
   304 	if st.GetNested() != nil {
   332 	if st.GetNested() != nil {
   305 		xml.Marshal(buf, st.GetNested())
   333 		xml.Marshal(buf, st.GetNested())
   306 	} else if st.generic() != nil {
   334 	} else if st.generic() != nil {
   307 		xml.Marshal(buf, st.generic())
   335 		xml.Marshal(buf, st.generic())
   308 	} else if st.innerxml() != "" {
   336 	} else if st.innerxml() != "" {
   367 
   395 
   368 func (m *Message) MarshalXML() ([]byte, os.Error) {
   396 func (m *Message) MarshalXML() ([]byte, os.Error) {
   369 	return marshalXML(m)
   397 	return marshalXML(m)
   370 }
   398 }
   371 
   399 
   372 func (m *Message) InnerMarshal(w io.Writer) os.Error {
       
   373 	err := xml.Marshal(w, m.Subject)
       
   374 	if err != nil {
       
   375 		return err
       
   376 	}
       
   377 	err = xml.Marshal(w, m.Body)
       
   378 	if err != nil {
       
   379 		return err
       
   380 	}
       
   381 	err = xml.Marshal(w, m.Thread)
       
   382 	if err != nil {
       
   383 		return err
       
   384 	}
       
   385 	return nil
       
   386 }
       
   387 
       
   388 func (p *Presence) GetName() string {
   400 func (p *Presence) GetName() string {
   389 	return "presence"
   401 	return "presence"
   390 }
   402 }
   391 
   403 
   392 func (p *Presence) GetTo() string {
   404 func (p *Presence) GetTo() string {
   429 	return p.Innerxml
   441 	return p.Innerxml
   430 }
   442 }
   431 
   443 
   432 func (p *Presence) MarshalXML() ([]byte, os.Error) {
   444 func (p *Presence) MarshalXML() ([]byte, os.Error) {
   433 	return marshalXML(p)
   445 	return marshalXML(p)
   434 }
       
   435 
       
   436 func (p *Presence) InnerMarshal(w io.Writer) os.Error {
       
   437 	err := xml.Marshal(w, p.Show)
       
   438 	if err != nil {
       
   439 		return err
       
   440 	}
       
   441 	err = xml.Marshal(w, p.Status)
       
   442 	if err != nil {
       
   443 		return err
       
   444 	}
       
   445 	err = xml.Marshal(w, p.Priority)
       
   446 	if err != nil {
       
   447 		return err
       
   448 	}
       
   449 	return nil
       
   450 }
   446 }
   451 
   447 
   452 func (iq *Iq) GetName() string {
   448 func (iq *Iq) GetName() string {
   453 	return "iq"
   449 	return "iq"
   454 }
   450 }