Home | History | Annotate | Download | only in login
      1 // Copyright (c) 2012 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_CHROMEOS_LOGIN_PROFILE_AUTH_DATA_H_
      6 #define CHROME_BROWSER_CHROMEOS_LOGIN_PROFILE_AUTH_DATA_H_
      7 
      8 #include <string>
      9 #include "base/callback.h"
     10 
     11 class Profile;
     12 
     13 namespace chromeos {
     14 
     15 // Helper class for transferring authentication related data from one profile
     16 // to another: proxy authentication cache, cookies, server bound certs.
     17 class ProfileAuthData {
     18  public:
     19   // Transfers proxy authentication cache and optionally |transfer_cookies| and
     20   // server bound certs from the profile that was used for authentication.
     21   // |completion_callback| will be called on UI thread after the operation is
     22   // completed.
     23   static void Transfer(Profile* from_profile,
     24                        Profile* to_profile,
     25                        bool transfer_cookies,
     26                        const base::Closure& completion_callback);
     27 
     28  private:
     29   DISALLOW_IMPLICIT_CONSTRUCTORS(ProfileAuthData);
     30 };
     31 
     32 }  // namespace chromeos
     33 
     34 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_PROFILE_AUTH_DATA_H_
     35