Files
sing-box/experimental/boxdd/platform.go
T
2026-07-13 19:12:05 +08:00

27 lines
710 B
Go

package main
import (
"github.com/sagernet/sing-box/adapter"
"github.com/sagernet/sing-box/daemon"
)
type daemonPlatform interface {
adapter.PlatformInterface
PrepareOwner(identity peerIdentity) error
RestoreOwner(state ownerState) error
ReleaseOwner() error
ResetPlatformOptions() error
SetSystemProxyPreference(enabled bool)
SystemProxyStatus() (*daemon.SystemProxyStatus, error)
SetSystemProxyEnabled(enabled bool) error
HandleSessionChange(eventType uint32, sessionID uint32, state ownerState) (uint32, bool, error)
Close() error
}
func (d *Daemon) preparePlatformOwnerLocked(identity peerIdentity) error {
if d.platform == nil {
return nil
}
return d.platform.PrepareOwner(identity)
}