blob: 3dddccbc7d7a3bceaa068321ae23f392057af399 [file] [log] [blame]
giod9c398e2024-06-06 13:33:03 +04001package tasks
2
3import (
4 "fmt"
5)
6
7type TaskManager interface {
8 Add(name string, task Task) error
9 Get(name string) (Task, error)
10}
11
12type TaskMap struct {
13 t map[string]Task
14}
15
16func NewTaskMap() *TaskMap {
17 return &TaskMap{make(map[string]Task)}
18}
19
20func (m *TaskMap) Add(name string, task Task) error {
21 if _, ok := m.t[name]; ok {
22 return fmt.Errorf("already exists")
23 }
24 m.t[name] = task
25 return nil
26}
27
28func (m *TaskMap) Get(name string) (Task, error) {
29 if t, ok := m.t[name]; ok {
30 return t, nil
31 } else {
32 return nil, fmt.Errorf("does not exist")
33 }
34}