package models import ( "encoding/xml" "fmt" ) type AddData struct { XMLName xml.Name `xml:"addData"` Data []*Data `xml:"data,omitempty"` } func NewAddData() *AddData { return &AddData{} } func (a *AddData) AddProjectInformation(name, handleUnknown string) *ProjectInformation { d := a.addNewData(fmt.Sprintf("%s/%s", name, XML_PROJECTINFORMATION), handleUnknown) d.ProjectInformation = &ProjectInformation{} return d.ProjectInformation } func (a *AddData) AddApplication(name, handleUnknown string) *Data { return a.addNewData(fmt.Sprintf("%s/%s", name, XML_APPLICATION), handleUnknown) } func (a *AddData) AddTasksettings(name, handleUnknown, kindOfTask, intervalUnit string, interval int) (*TaskSettings, error) { data := a.addNewData(fmt.Sprintf("%s/%s", name, XML_TASKSETTINGS), handleUnknown) data.TaskSettings = &TaskSettings{ KindOfTask: kindOfTask, Interval: interval, IntervalUnit: intervalUnit, } return data.TaskSettings, nil } func (a *AddData) addNewData(name, handleUnknown string) *Data { d := NewData(name, handleUnknown) a.Data = append(a.Data, d) return d }