| // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHAPS_LOGIN_EVENT_LISTENER_H |
| #define CHAPS_LOGIN_EVENT_LISTENER_H |
| |
| #include <string> |
| |
| #include <base/file_path.h> |
| |
| namespace chaps { |
| |
| // LoginEventListener is an interface which must be implemented by objects which |
| // register to receive notification of login / logout events. |
| // |
| // An event is always parameterized with a path to the associated persistent |
| // token files. This path is unique per token and a token is unique per path. |
| // This 1-to-1 relation can be assumed. |
| // |
| // Authorization data associated with a token is derived from the user's |
| // password and is provided via this interface on login events and on change |
| // password events. |
| class LoginEventListener { |
| public: |
| virtual void OnLogin(const FilePath& path, |
| const std::string& auth_data) = 0; |
| virtual void OnLogout(const FilePath& path) = 0; |
| virtual void OnChangeAuthData(const FilePath& path, |
| const std::string& old_auth_data, |
| const std::string& new_auth_data) = 0; |
| }; |
| |
| } // namespace |
| |
| #endif // CHAPS_LOGIN_EVENT_LISTENER_H |