44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package models
|
|
|
|
import (
|
|
"encoding/xml"
|
|
"schema"
|
|
)
|
|
|
|
type Data struct {
|
|
XMLName xml.Name `xml:"data"`
|
|
Name string `xml:"name,attr"`
|
|
HandleUnknown string `xml:"handleUnknown,attr"`
|
|
ProjectInformation *ProjectInformation `xml:"ProjectInformation,omitempty"`
|
|
Resource *Resourse `xml:"resource,omitempty"`
|
|
TaskSettings *TaskSettings `xml:"TaskSettings,omitempty"`
|
|
Attributes *Attributes `xml:"Attributes,omitempty"`
|
|
InterfaceAsPlainText *InterfaceAsPlainText `xml:"InterfaceAsPlainText,omitempty"`
|
|
ObjectId *ObjectId `xml:"ObjectId,omitempty"`
|
|
}
|
|
|
|
func NewData(name, handleUnknown string) *Data {
|
|
return &Data{
|
|
Name: name,
|
|
HandleUnknown: handleUnknown,
|
|
}
|
|
}
|
|
|
|
func (d *Data) AddResources(proj *schema.Project) error {
|
|
for _, device := range proj.Devices {
|
|
res := d.AddResource(device.Name)
|
|
err := res.AddTasks(device)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (d *Data) AddResource(name string) *Resourse {
|
|
d.Resource = &Resourse{
|
|
Name: name,
|
|
}
|
|
return d.Resource
|
|
}
|