Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4403)

Unified Diff: chrome/browser/chromeos/options/vpn_config_view.h

Issue 21046008: Convert all connect code to use NetworkHandler instead of NetworkLibrary (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Restore check VPN PassphraseRequred Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/options/vpn_config_view.h
diff --git a/chrome/browser/chromeos/options/vpn_config_view.h b/chrome/browser/chromeos/options/vpn_config_view.h
index cb5f7cec1a82a5c9eced12ca6ae6a8415362d8bf..045d3299f31ef4a4d327090d4186ef2af895d488 100644
--- a/chrome/browser/chromeos/options/vpn_config_view.h
+++ b/chrome/browser/chromeos/options/vpn_config_view.h
@@ -18,13 +18,20 @@
#include "ui/views/controls/textfield/textfield_controller.h"
#include "ui/views/view.h"
+namespace base {
+class DictionaryValue;
+}
+
namespace views {
class Checkbox;
+class GridLayout;
class Label;
}
namespace chromeos {
+class NetworkState;
+
namespace internal {
class ProviderTypeComboboxModel;
class VpnServerCACertComboboxModel;
@@ -36,10 +43,10 @@ class VPNConfigView : public ChildNetworkConfigView,
public views::TextfieldController,
public views::ButtonListener,
public views::ComboboxListener,
- public CertLibrary::Observer {
+ public CertLibrary::Observer,
+ public base::SupportsWeakPtr<VPNConfigView> {
public:
- VPNConfigView(NetworkConfigView* parent, VirtualNetwork* vpn);
- explicit VPNConfigView(NetworkConfigView* parent);
+ VPNConfigView(NetworkConfigView* parent, const std::string& service_path);
virtual ~VPNConfigView();
// views::TextfieldController:
@@ -68,7 +75,17 @@ class VPNConfigView : public ChildNetworkConfigView,
private:
// Initializes data members and create UI controls.
- void Init(VirtualNetwork* vpn);
+ void Init();
+ void InitControls();
+
+ // Callback to initialize fields from uncached network properties.
+ void InitFromProperties(const std::string& service_path,
+ const base::DictionaryValue& dictionary);
+ void GetPropertiesError(const std::string& error_name,
+ scoped_ptr<base::DictionaryValue> error_data);
+
+ // Helper function to set credential properties.
+ void SetCredentials(base::DictionaryValue* properties);
// Set and update all control values.
void Refresh();
@@ -81,9 +98,6 @@ class VPNConfigView : public ChildNetworkConfigView,
// Update state of the Login button.
void UpdateCanLogin();
- // Returns true if the provider type requires a user certificate.
- bool UserCertRequired() const;
-
// Returns true if there is at least one user certificate installed.
bool HaveUserCerts() const;
@@ -109,21 +123,22 @@ class VPNConfigView : public ChildNetworkConfigView,
const std::string GetServerCACertPEM() const;
const std::string GetUserCertID() const;
bool GetSaveCredentials() const;
+ int GetProviderTypeIndex() const;
+ std::string GetProviderTypeString() const;
// Parses a VPN UI |property| from the given |network|. |key| is the property
// name within the type-specific VPN subdictionary named |dict_key|.
void ParseVPNUIProperty(NetworkPropertyUIData* property_ui_data,
- Network* network,
+ const NetworkState* network,
const std::string& dict_key,
const std::string& key);
- std::string server_hostname_;
string16 service_name_from_server_;
bool service_text_modified_;
// Initialized in Init():
- ProviderType provider_type_;
+ std::string provider_type_;
bool enable_psk_passphrase_;
bool enable_user_cert_;
@@ -141,6 +156,7 @@ class VPNConfigView : public ChildNetworkConfigView,
int title_;
+ views::GridLayout* layout_;
views::Textfield* server_textfield_;
views::Label* service_text_;
views::Textfield* service_textfield_;
@@ -165,6 +181,10 @@ class VPNConfigView : public ChildNetworkConfigView,
views::Checkbox* save_credentials_checkbox_;
views::Label* error_label_;
+ // Cached VPN properties
+ std::string ca_cert_pem_;
+ std::string client_cert_id_;
+
DISALLOW_COPY_AND_ASSIGN(VPNConfigView);
};

Powered by Google App Engine
This is Rietveld 408576698