From b3d7493f5e8b20378ec2e41a10459e4339d538e9 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 1 Feb 2020 18:08:43 -0500 Subject: wip --- rrdformat/marshal_xml.go | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) (limited to 'rrdformat/marshal_xml.go') diff --git a/rrdformat/marshal_xml.go b/rrdformat/marshal_xml.go index 2d0269b..033073c 100644 --- a/rrdformat/marshal_xml.go +++ b/rrdformat/marshal_xml.go @@ -7,10 +7,6 @@ import ( //const XMLNS = "https://oss.oetiker.ch/rrdtool/rrdtool-dump.xml" -func (rrd RRD) MarshalXML(e *xml.Encoder, start xml.StartElement) error { - return e.EncodeElement(rrd.Data, start) -} - func xmlStart(name string) xml.StartElement { return xml.StartElement{ Name: xml.Name{ @@ -19,7 +15,7 @@ func xmlStart(name string) xml.StartElement { } } -func (rrd RRDv0005) MarshalXML(e *xml.Encoder, start xml.StartElement) error { +func (rrd RRD) MarshalXML(e *xml.Encoder, start xml.StartElement) error { if err := e.EncodeToken(xml.Comment(" Round Robin Database Dump ")); err != nil { return err } @@ -30,19 +26,28 @@ func (rrd RRDv0005) MarshalXML(e *xml.Encoder, start xml.StartElement) error { return err } - // 1. Header - if err := e.Encode(rrd.Header); err != nil { + // 1. Version + if err := e.EncodeElement(rrd.Header.Version, xmlStart("version")); err != nil { + return err + } + // 2. Step + if err := e.EncodeElement(rrd.Header.PDPStep, xmlStart("step")); err != nil { + return err + } + if err := e.EncodeToken(xml.CharData(" ")); err != nil { return err } - // 2. Last Updated + if err := e.EncodeToken(xml.Comment(" Seconds ")); err != nil { + return err + } + // 3. Step if err := e.EncodeElement(rrd.LastUpdated, xmlStart("lastupdate")); err != nil { return err } - + // blank line if err := e.EncodeToken(xml.CharData("\n")); err != nil { return err } - // 3. Data Sources for _, ds := range rrd.DSDefs { if err := e.EncodeElement(ds, xmlStart("ds")); err != nil { @@ -85,19 +90,3 @@ func (t TimeWithoutUsec) MarshalXML(e *xml.Encoder, start xml.StartElement) erro } return nil } - -func (h Header) MarshalXML(e *xml.Encoder, start xml.StartElement) error { - if err := e.EncodeElement(h.Version, xmlStart("version")); err != nil { - return err - } - if err := e.EncodeElement(h.PDPStep, xmlStart("step")); err != nil { - return err - } - if err := e.EncodeToken(xml.CharData(" ")); err != nil { - return err - } - if err := e.EncodeToken(xml.Comment(" Seconds ")); err != nil { - return err - } - return nil -} -- cgit v1.2.3