First functional version of a blackboard and a blackboard based obicount

This commit is contained in:
Eric Coissac
2024-07-31 23:16:45 +02:00
parent dfe2fc3d43
commit f36b39bfa3
40 changed files with 1236 additions and 257 deletions

View File

@ -1,21 +1,34 @@
package obiblackboard
type Task struct {
Role string
Priority int
Body interface{}
Role string
SavedTask *Task
Priority int
Body interface{}
}
func NewInitialTask() *Task {
return &Task{
Role: "initial",
Priority: 0,
Body: nil,
Role: "initial",
SavedTask: nil,
Priority: 0,
Body: nil,
}
}
func (task *Task) GetNext() *Task {
func (task *Task) GetNext(target string, copy bool, save bool) *Task {
t := NewInitialTask()
t.Priority = task.Priority + 1
t.Role = target
if copy {
t.Body = task.Body
}
if save {
t.SavedTask = task
} else {
t.SavedTask = task.SavedTask
}
return t
}