Files
gluetun/internal/server/interfaces.go
2024-07-29 13:55:28 +00:00

35 lines
805 B
Go

package server
import (
"context"
"github.com/qdm12/gluetun/internal/configuration/settings"
"github.com/qdm12/gluetun/internal/models"
)
type VPNLooper interface {
GetStatus() (status models.LoopStatus)
ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
GetSettings() (settings settings.VPN)
SetSettings(ctx context.Context, settings settings.VPN) (outcome string)
}
type DNSLoop interface {
ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
GetStatus() (status models.LoopStatus)
}
type PortForwardedGetter interface {
GetPortsForwarded() (ports []uint16)
}
type PublicIPLoop interface {
GetData() (data models.PublicIP)
}
type Storage interface {
GetFilterChoices(provider string) models.FilterChoices
}