24 lines
690 B
Go
24 lines
690 B
Go
package station
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/nemunaire/repeater/internal/station/arp"
|
|
"github.com/nemunaire/repeater/internal/station/backend"
|
|
"github.com/nemunaire/repeater/internal/station/dhcp"
|
|
"github.com/nemunaire/repeater/internal/station/hostapd"
|
|
)
|
|
|
|
// createBackend creates a station backend based on the backend name
|
|
func createBackend(backendName string) (backend.StationBackend, error) {
|
|
switch backendName {
|
|
case "arp":
|
|
return arp.NewBackend(), nil
|
|
case "dhcp":
|
|
return dhcp.NewBackend(), nil
|
|
case "hostapd":
|
|
return hostapd.NewBackend(), nil
|
|
default:
|
|
return nil, fmt.Errorf("invalid station backend: %s (must be 'arp', 'dhcp', or 'hostapd')", backendName)
|
|
}
|
|
}
|