initial commit lets start
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
"plcopenxmlbuilder/utils"
|
||||
"schema"
|
||||
)
|
||||
|
||||
type Resourse struct {
|
||||
XMLName xml.Name `xml:"resource"`
|
||||
Name string `xml:"name,attr"`
|
||||
Task []*Task `xml:"task"`
|
||||
GlobalVars *GlobalVars `xml:"globalVars,omitempty"`
|
||||
}
|
||||
|
||||
func (r *Resourse) AddTasks(dev *schema.Device) error {
|
||||
for _, task := range dev.Tasks {
|
||||
if err := utils.CheckKindOfTask(task.KindOfTask); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := utils.CheckIntervalUnit(task.IntervalUnit); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
t, err := r.AddTask(task.Name, task.KindOfTask, task.IntervalUnit, task.Interval, task.Priority)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
t.AddPouInstances(task)
|
||||
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Resourse) AddTask(name, kindOfTask, intervalUnit string, interval, priority int) (*Task, error) {
|
||||
t := &Task{
|
||||
Name: name,
|
||||
Priority: priority,
|
||||
}
|
||||
t.SetInterval(interval)
|
||||
|
||||
err := t.AddAddData(kindOfTask, intervalUnit, interval)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
r.Task = append(r.Task, t)
|
||||
return t, nil
|
||||
}
|
||||
Reference in New Issue
Block a user