Home | History | Annotate | Download | only in login
      1 // Copyright (c) 2011 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_UI_LOGIN_LOGIN_MODEL_H_
      6 #define CHROME_BROWSER_UI_LOGIN_LOGIN_MODEL_H_
      7 
      8 #include "base/strings/string16.h"
      9 
     10 // Simple Model & Observer interfaces for a LoginView to facilitate exchanging
     11 // information.
     12 class LoginModelObserver {
     13  public:
     14   // Called by the model when a username,password pair has been identified
     15   // as a match for the pending login prompt.
     16   virtual void OnAutofillDataAvailable(const string16& username,
     17                                        const string16& password) = 0;
     18 
     19   virtual void OnLoginModelDestroying() = 0;
     20 
     21  protected:
     22   virtual ~LoginModelObserver() {}
     23 };
     24 
     25 class LoginModel {
     26  public:
     27   // Add an observer interested in the data from the model.
     28   virtual void AddObserver(LoginModelObserver* observer) = 0;
     29   // Remove an observer from the model.
     30   virtual void RemoveObserver(LoginModelObserver* observer) = 0;
     31 
     32  protected:
     33   virtual ~LoginModel() {}
     34 };
     35 
     36 #endif  // CHROME_BROWSER_UI_LOGIN_LOGIN_MODEL_H_
     37