24 lines
402 B
Go
24 lines
402 B
Go
package common
|
|
|
|
import (
|
|
"net"
|
|
"reflect"
|
|
"strings"
|
|
)
|
|
|
|
var (
|
|
Targets map[string]TargetModuleType //Available target modules storage
|
|
)
|
|
|
|
type TargetModuleType interface {
|
|
Set(destination string, iplist []net.IPNet) error
|
|
}
|
|
|
|
func init() {
|
|
Targets = make(map[string]TargetModuleType)
|
|
}
|
|
|
|
func RegisterTarget(tgt TargetModuleType) {
|
|
Targets[strings.ToLower(reflect.ValueOf(tgt).Type().Name())] = tgt
|
|
}
|