vdl/vom: new encoders and writers

MultiPart: 5/5
Change-Id: I16970bd50da26af69b3d21b3af70437522e82c74
diff --git a/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go b/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go
index 21628b0..fd37d0b 100644
--- a/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go
+++ b/go/src/v.io/x/sensorlog/internal/sbmodel/sbmodel.vdl.go
@@ -186,6 +186,46 @@
 	}
 }
 
+func (x VDeviceCfg) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VDeviceCfg)(nil)).Elem()); err != nil {
+		return err
+	}
+	var1 := (x.Desc == "")
+	if !(var1) {
+		if err := enc.NextField("Desc"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.Desc); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	var2 := (x.SgPublishSb == "")
+	if !(var2) {
+		if err := enc.NextField("SgPublishSb"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.SgPublishSb); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
 type KDeviceCfg struct {
 	DevId string
 }
@@ -305,6 +345,31 @@
 	}
 }
 
+func (x KDeviceCfg) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*KDeviceCfg)(nil)).Elem()); err != nil {
+		return err
+	}
+	var1 := (x.DevId == "")
+	if !(var1) {
+		if err := enc.NextField("DevId"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.DevId); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
 // Sampling script and polling frequency.
 type SamplerDef struct {
 	// Shell script executed after every Interval, starting from Start.
@@ -524,6 +589,67 @@
 	}
 }
 
+func (x SamplerDef) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*SamplerDef)(nil)).Elem()); err != nil {
+		return err
+	}
+	var1 := (x.Script == "")
+	if !(var1) {
+		if err := enc.NextField("Script"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.Script); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	var wireValue2 time_2.Time
+	if err := time_2.TimeFromNative(&wireValue2, x.Start); err != nil {
+		return fmt.Errorf("error converting x.Start to wiretype")
+	}
+
+	var3 := (wireValue2 == time_2.Time{})
+	if !(var3) {
+		if err := enc.NextField("Start"); err != nil {
+			return err
+		}
+		var wire time_2.Time
+		if err := time_2.TimeFromNative(&wire, x.Start); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	var wireValue4 time_2.Duration
+	if err := time_2.DurationFromNative(&wireValue4, x.Interval); err != nil {
+		return fmt.Errorf("error converting x.Interval to wiretype")
+	}
+
+	var5 := (wireValue4 == time_2.Duration{})
+	if !(var5) {
+		if err := enc.NextField("Interval"); err != nil {
+			return err
+		}
+		var wire time_2.Duration
+		if err := time_2.DurationFromNative(&wire, x.Interval); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
 // streamdef : <DevId>/<StreamId>
 // Configures a stream of data to be measured.
 type VStreamDef struct {
@@ -719,6 +845,55 @@
 	}
 }
 
+func (x VStreamDef) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VStreamDef)(nil)).Elem()); err != nil {
+		return err
+	}
+	var1 := (x.Desc == "")
+	if !(var1) {
+		if err := enc.NextField("Desc"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.Desc); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	var2 := (x.Sampler == SamplerDef{})
+	if !(var2) {
+		if err := enc.NextField("Sampler"); err != nil {
+			return err
+		}
+		if err := x.Sampler.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	var3 := (x.Enabled == false)
+	if !(var3) {
+		if err := enc.NextField("Enabled"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*bool)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeBool(x.Enabled); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
 type KStreamDef struct {
 	DevId    string
 	StreamId string
@@ -876,6 +1051,46 @@
 	}
 }
 
+func (x KStreamDef) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*KStreamDef)(nil)).Elem()); err != nil {
+		return err
+	}
+	var1 := (x.DevId == "")
+	if !(var1) {
+		if err := enc.NextField("DevId"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.DevId); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	var2 := (x.StreamId == "")
+	if !(var2) {
+		if err := enc.NextField("StreamId"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.StreamId); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
 // sdata : <DevId>/<StreamId>/<Timestamp>
 // Measured data value or error.
 type KDataPoint struct {
@@ -1083,6 +1298,64 @@
 	}
 }
 
+func (x KDataPoint) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*KDataPoint)(nil)).Elem()); err != nil {
+		return err
+	}
+	var1 := (x.DevId == "")
+	if !(var1) {
+		if err := enc.NextField("DevId"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.DevId); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	var2 := (x.StreamId == "")
+	if !(var2) {
+		if err := enc.NextField("StreamId"); err != nil {
+			return err
+		}
+		if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+			return err
+		}
+		if err := enc.EncodeString(x.StreamId); err != nil {
+			return err
+		}
+		if err := enc.FinishValue(); err != nil {
+			return err
+		}
+	}
+	var wireValue3 time_2.Time
+	if err := time_2.TimeFromNative(&wireValue3, x.Timestamp); err != nil {
+		return fmt.Errorf("error converting x.Timestamp to wiretype")
+	}
+
+	var4 := (wireValue3 == time_2.Time{})
+	if !(var4) {
+		if err := enc.NextField("Timestamp"); err != nil {
+			return err
+		}
+		var wire time_2.Time
+		if err := time_2.TimeFromNative(&wire, x.Timestamp); err != nil {
+			return err
+		}
+		if err := wire.VDLWrite(enc); err != nil {
+			return err
+		}
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
 type (
 	// VDataPoint represents any single field of the VDataPoint union type.
 	VDataPoint interface {
@@ -1095,6 +1368,7 @@
 		// __VDLReflect describes the VDataPoint union type.
 		__VDLReflect(__VDataPointReflect)
 		FillVDLTarget(vdl.Target, *vdl.Type) error
+		VDLWrite(vdl.Encoder) error
 	}
 	// VDataPointValue represents field Value of the VDataPoint union type.
 	VDataPointValue struct{ Value float64 }
@@ -1276,6 +1550,49 @@
 	return dec.FinishValue()
 }
 
+func (x VDataPointValue) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VDataPoint)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("Value"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.TypeOf((*float64)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeFloat(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+func (x VDataPointError) VDLWrite(enc vdl.Encoder) error {
+	if err := enc.StartValue(vdl.TypeOf((*VDataPoint)(nil))); err != nil {
+		return err
+	}
+	if err := enc.NextField("Error"); err != nil {
+		return err
+	}
+	if err := enc.StartValue(vdl.TypeOf((*string)(nil))); err != nil {
+		return err
+	}
+	if err := enc.EncodeString(x.Value); err != nil {
+		return err
+	}
+	if err := enc.FinishValue(); err != nil {
+		return err
+	}
+	if err := enc.NextField(""); err != nil {
+		return err
+	}
+	return enc.FinishValue()
+}
+
 var __VDLInitCalled bool
 
 // __VDLInit performs vdl initialization.  It is safe to call multiple times.