login_model.h revision 21d179b334e59e9a3bfcaed4c4430bef1bc5759d
1// Copyright (c) 2009 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#pragma once
8
9#include <string>
10
11// Simple Model & Observer interfaces for a LoginView to facilitate exchanging
12// information.
13class LoginModelObserver {
14 public:
15  // Called by the model when a username,password pair has been identified
16  // as a match for the pending login prompt.
17  virtual void OnAutofillDataAvailable(const std::wstring& username,
18                                       const std::wstring& password) = 0;
19
20 protected:
21  virtual ~LoginModelObserver() {}
22};
23
24class LoginModel {
25 public:
26  // Set the observer interested in the data from the model.
27  // observer can be null, signifying there is no longer any observer
28  // interested in the data.
29  virtual void SetObserver(LoginModelObserver* observer) = 0;
30
31 protected:
32  virtual ~LoginModel() {}
33};
34
35#endif  // CHROME_BROWSER_UI_LOGIN_LOGIN_MODEL_H_
36