| Index: ash/public/interfaces/vpn_list.mojom
|
| diff --git a/ash/public/interfaces/vpn_list.mojom b/ash/public/interfaces/vpn_list.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0be5721f401d1e501b13957303dbda3b2554f243
|
| --- /dev/null
|
| +++ b/ash/public/interfaces/vpn_list.mojom
|
| @@ -0,0 +1,33 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +module ash.mojom;
|
| +
|
| +// Describes a third-party VPN provided by an extension (e.g. Cisco AnyConnect).
|
| +struct ThirdPartyVpnProvider {
|
| + string name;
|
| + string extension_id;
|
| +};
|
| +
|
| +// Manages the VPN provider list in ash. Allows extension-backed VPN providers
|
| +// to be added. Ash handles the built-in OpenVPN / L2TP provider internally.
|
| +interface VpnList {
|
| + // Sets the client interface (usually provided by chrome browser).
|
| + SetClient(VpnListClient client);
|
| +
|
| + // Sets the list of third-party VPN providers. The |providers| array may be
|
| + // empty to clear the list (e.g. after the last third-party VPN extension is
|
| + // uninstalled).
|
| + SetThirdPartyVpnProviders(array<ThirdPartyVpnProvider> providers);
|
| +};
|
| +
|
| +// Allows ash to make requests of chrome browser, e.g. to show webui settings.
|
| +interface VpnListClient {
|
| + // Shows the configuration page for the built-in OpenVPN / L2TP provider.
|
| + ShowBuiltInAddNetworkPage();
|
| +
|
| + // Shows the configuration page for a third-party VPN. |extension_id| must be
|
| + // a valid, non-empty extension ID.
|
| + ShowThirdPartyAddNetworkPage(string extension_id);
|
| +};
|
|
|