repeater/internal/wifi/factory.go

21 lines
603 B
Go

package wifi
import (
"fmt"
"github.com/nemunaire/repeater/internal/wifi/backend"
"github.com/nemunaire/repeater/internal/wifi/iwd"
"github.com/nemunaire/repeater/internal/wifi/wpasupplicant"
)
// createBackend creates the appropriate WiFi backend based on the backend name
func createBackend(backendName string) (backend.WiFiBackend, error) {
switch backendName {
case "iwd":
return iwd.NewIWDBackend(), nil
case "wpasupplicant":
return wpasupplicant.NewWPABackend(), nil
default:
return nil, fmt.Errorf("invalid wifi backend: %s (must be 'iwd' or 'wpasupplicant')", backendName)
}
}