iplistget/common/targets.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
}