mirror of
https://github.com/netbirdio/netbird.git
synced 2026-07-16 19:49:56 +00:00
- define needed supervisor context/variables - will use runCancel as knob to know if the client is running. No extra boolean flags - runWaiter is used to signal to the async run caller
33 lines
1005 B
Go
33 lines
1005 B
Go
//go:build android
|
|
|
|
package internal
|
|
|
|
import (
|
|
"net/netip"
|
|
|
|
"github.com/netbirdio/netbird/client/internal/dns"
|
|
"github.com/netbirdio/netbird/client/internal/listener"
|
|
"github.com/netbirdio/netbird/client/internal/stdnet"
|
|
)
|
|
|
|
// runOnAndroidEmbed is like RunOnAndroid but accepts a runningChan
|
|
// so embed.Client.Start() can detect when the engine is ready.
|
|
// It provides complete MobileDependency so the engine's existing
|
|
// Android code paths work unchanged.
|
|
func (c *ConnectClient) runOnAndroidEmbed(
|
|
iFaceDiscover stdnet.ExternalIFaceDiscover,
|
|
networkChangeListener listener.NetworkChangeListener,
|
|
dnsAddresses []netip.AddrPort,
|
|
dnsReadyListener dns.ReadyListener,
|
|
runningChan chan struct{},
|
|
logPath string,
|
|
) error {
|
|
mobileDependency := MobileDependency{
|
|
IFaceDiscover: iFaceDiscover,
|
|
NetworkChangeListener: networkChangeListener,
|
|
HostDNSAddresses: dnsAddresses,
|
|
DnsReadyListener: dnsReadyListener,
|
|
}
|
|
return c.sup.start(mobileDependency, runningChan, logPath)
|
|
}
|