Chromium Code Reviews| 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); |
|
stevenjb
2016/11/19 00:04:58
This just seems confusing to me. It seems like the
|
| + |
| + // 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); |
|
stevenjb
2016/11/19 00:04:58
In theory we could make this a single method, with
|
| +}; |