// Copyright 2024 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
{
    children: [
        {
            name: "socket-proxy",
            url: "fuchsia-pkg://fuchsia.com/network-socket-proxy#meta/network-socket-proxy.cm",

            // TODO(https://fxbug.dev/417568023): Remove this once FDIO is updated to reconnect
            // to the socket provider protocol when it observes a FIDL channel closure.
            on_terminate: "reboot",
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.posix.socket.Provider",
                "fuchsia.posix.socket.raw.Provider",
            ],
            from: "#netstack",
            to: [
                "#reachability",
                "#socket-proxy",
            ],
        },
        {
            protocol: [ "fuchsia.posix.socket.Provider" ],
            from: "#socket-proxy",
            to: [
                "#dhcpd",
                "#dhcpv6-client",
                "#dns-resolver",
                "#http-client",
            ],
        },
        {
            protocol: [
                "fuchsia.net.policy.properties.DefaultNetworkWatcher",
                "fuchsia.net.policy.socketproxy.DnsServerWatcher",
                "fuchsia.net.policy.socketproxy.FuchsiaNetworks",
            ],
            from: "#socket-proxy",
            to: [ "#netcfg" ],
        },
        {
            // TODO(https://fxbug.dev/475916525): Remove once NetworkRegistry is moved to netcfg.
            protocol: [ "fuchsia.net.policy.socketproxy.NetworkRegistry" ],
            from: "#netcfg",
            to: "#socket-proxy",
            dependency: "weak",
        },
    ],
    expose: [
        {
            protocol: [
                "fuchsia.net.policy.properties.DefaultNetworkWatcher",
                "fuchsia.net.policy.socketproxy.DnsServerWatcher",
                "fuchsia.net.policy.socketproxy.FuchsiaNetworks",
                "fuchsia.net.policy.socketproxy.StarnixNetworks",
            ],
            from: "#socket-proxy",
            availability: "optional",
        },
        {
            protocol: [
                "fuchsia.posix.socket.Provider",
                "fuchsia.posix.socket.raw.Provider",
            ],
            from: "#socket-proxy",
        },
        {
            protocol: "fuchsia.posix.socket.Provider",
            from: "#netstack",
            as: "fuchsia.posix.socket.Provider_Unproxied",
        },
        {
            protocol: "fuchsia.posix.socket.raw.Provider",
            from: "#netstack",
            as: "fuchsia.posix.socket.raw.Provider_Unproxied",
        },
    ],
}
