summaryrefslogtreecommitdiff
path: root/modules.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules.go')
-rw-r--r--modules.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/modules.go b/modules.go
index 46dfbe8..ac41f16 100644
--- a/modules.go
+++ b/modules.go
@@ -11,8 +11,10 @@ import (
// Module is a module.
type Module struct {
- Name string
- New func() (interface{}, error)
+ Name string
+ New func() (interface{}, error)
+ OnLoad func(instances []interface{}, priorState interface{}) (newState interface{}, err error)
+ OnUnload func(state interface{}) error
}
func (m Module) String() string { return m.Name }
@@ -145,6 +147,8 @@ func LoadModule(name string, rawMsg json.RawMessage) (interface{}, error) {
}
}
+ moduleInstances[mod.Name] = append(moduleInstances[mod.Name], val)
+
return val, nil
}