credential_getter_win.h revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_CREDENTIAL_GETTER_WIN_H_ 6#define CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_CREDENTIAL_GETTER_WIN_H_ 7 8#include <string> 9 10#include "base/message_loop/message_loop_proxy.h" 11#include "content/public/browser/utility_process_host.h" 12#include "content/public/browser/utility_process_host_client.h" 13 14namespace local_discovery { 15namespace wifi { 16 17class CredentialGetterWin : public content::UtilityProcessHostClient { 18 public: 19 typedef base::Callback<void(bool success, const std::string& key)> 20 CredentialsCallback; 21 22 CredentialGetterWin(); 23 virtual ~CredentialGetterWin(); 24 25 void StartGetCredentials(const std::string& network_guid, 26 const CredentialsCallback& callback); 27 28 private: 29 // UtilityProcessHostClient 30 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 31 virtual void OnProcessCrashed(int exit_code) OVERRIDE; 32 virtual void OnProcessLaunchFailed() OVERRIDE; 33 34 // IPC message handlers. 35 void OnGotCredentials(const std::string& key_data, bool success); 36 37 void StartOnIOThread(const std::string& network_guid); 38 39 void PostCallback(bool success, const std::string& key_data); 40 41 CredentialsCallback callback_; 42 scoped_refptr<base::MessageLoopProxy> callback_runner_; 43}; 44 45} // namespace wifi 46} // namespace local_discovery 47 48#endif // CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_CREDENTIAL_GETTER_WIN_H_ 49