| Index: chrome/browser/chromeos/login/auth/user_context.cc
|
| diff --git a/chrome/browser/chromeos/login/auth/user_context.cc b/chrome/browser/chromeos/login/auth/user_context.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..545ed5b87abc1fc0028d2f785565c355976d742a
|
| --- /dev/null
|
| +++ b/chrome/browser/chromeos/login/auth/user_context.cc
|
| @@ -0,0 +1,122 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/chromeos/login/auth/user_context.h"
|
| +
|
| +#include "chrome/browser/chromeos/login/helper.h"
|
| +#include "chrome/browser/chromeos/login/users/user_manager.h"
|
| +
|
| +namespace chromeos {
|
| +
|
| +UserContext::UserContext() : does_need_password_hashing_(true),
|
| + is_using_oauth_(true),
|
| + auth_flow_(AUTH_FLOW_OFFLINE) {
|
| +}
|
| +
|
| +UserContext::UserContext(const UserContext& other)
|
| + : user_id_(other.user_id_),
|
| + password_(other.password_),
|
| + does_need_password_hashing_(other.does_need_password_hashing_),
|
| + key_label_(other.key_label_),
|
| + auth_code_(other.auth_code_),
|
| + user_id_hash_(other.user_id_hash_),
|
| + is_using_oauth_(other.is_using_oauth_),
|
| + auth_flow_(other.auth_flow_) {
|
| +}
|
| +
|
| +UserContext::UserContext(const std::string& user_id)
|
| + : user_id_(login::CanonicalizeUserID(user_id)),
|
| + does_need_password_hashing_(true),
|
| + is_using_oauth_(true),
|
| + auth_flow_(AUTH_FLOW_OFFLINE) {
|
| +}
|
| +
|
| +UserContext::~UserContext() {
|
| +}
|
| +
|
| +bool UserContext::operator==(const UserContext& context) const {
|
| + return context.user_id_ == user_id_ &&
|
| + context.password_ == password_ &&
|
| + context.does_need_password_hashing_ == does_need_password_hashing_ &&
|
| + context.key_label_ == key_label_ &&
|
| + context.auth_code_ == auth_code_ &&
|
| + context.user_id_hash_ == user_id_hash_ &&
|
| + context.is_using_oauth_ == is_using_oauth_ &&
|
| + context.auth_flow_ == auth_flow_;
|
| +}
|
| +
|
| +const std::string& UserContext::GetUserID() const {
|
| + return user_id_;
|
| +}
|
| +
|
| +const std::string& UserContext::GetPassword() const {
|
| + return password_;
|
| +}
|
| +
|
| +bool UserContext::DoesNeedPasswordHashing() const {
|
| + return does_need_password_hashing_;
|
| +}
|
| +
|
| +const std::string& UserContext::GetKeyLabel() const {
|
| + return key_label_;
|
| +}
|
| +
|
| +const std::string& UserContext::GetAuthCode() const {
|
| + return auth_code_;
|
| +}
|
| +
|
| +const std::string& UserContext::GetUserIDHash() const {
|
| + return user_id_hash_;
|
| +}
|
| +
|
| +bool UserContext::IsUsingOAuth() const {
|
| + return is_using_oauth_;
|
| +}
|
| +
|
| +UserContext::AuthFlow UserContext::GetAuthFlow() const {
|
| + return auth_flow_;
|
| +}
|
| +
|
| +bool UserContext::HasCredentials() const {
|
| + return (!user_id_.empty() && !password_.empty()) || !auth_code_.empty();
|
| +}
|
| +
|
| +void UserContext::SetUserID(const std::string& user_id) {
|
| + user_id_ = login::CanonicalizeUserID(user_id);
|
| +}
|
| +
|
| +void UserContext::SetPassword(const std::string& password) {
|
| + password_ = password;
|
| +}
|
| +
|
| +void UserContext::SetDoesNeedPasswordHashing(bool does_need_password_hashing) {
|
| + does_need_password_hashing_ = does_need_password_hashing;
|
| +}
|
| +
|
| +void UserContext::SetKeyLabel(const std::string& key_label) {
|
| + key_label_ = key_label;
|
| +}
|
| +
|
| +void UserContext::SetAuthCode(const std::string& auth_code) {
|
| + auth_code_ = auth_code;
|
| +}
|
| +
|
| +void UserContext::SetUserIDHash(const std::string& user_id_hash) {
|
| + user_id_hash_ = user_id_hash;
|
| +}
|
| +
|
| +void UserContext::SetIsUsingOAuth(bool is_using_oauth) {
|
| + is_using_oauth_ = is_using_oauth;
|
| +}
|
| +
|
| +void UserContext::SetAuthFlow(AuthFlow auth_flow) {
|
| + auth_flow_ = auth_flow;
|
| +}
|
| +
|
| +void UserContext::ClearSecrets() {
|
| + password_.clear();
|
| + auth_code_.clear();
|
| +}
|
| +
|
| +} // namespace chromeos
|
|
|