You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

20 lines
397 B

// internal/core/discovery.go
package core
import (
"reflect"
)
var moduleTypes []reflect.Type
func RegisterModuleType(module Module) {
moduleTypes = append(moduleTypes, reflect.TypeOf(module))
}
func DiscoverModules(manager *ModuleManager) error {
for _, typ := range moduleTypes {
module := reflect.New(typ.Elem()).Interface().(Module)
manager.RegisterModule(module)
}
return nil
}