diff options
author | alemate <alemate@chromium.org> | 2015-12-18 23:13:09 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-19 07:14:08 +0000 |
commit | 8730a2f5c288b835a9050c5ec73416898d7f7732 (patch) | |
tree | 3991540fa31c9d1fdbd93a6f37d1ce787c263eb7 /components/user_manager/known_user.h | |
parent | 8a54364833d5f087498816148cf7f4a5c69d46d8 (diff) | |
download | chromium_src-8730a2f5c288b835a9050c5ec73416898d7f7732.zip chromium_src-8730a2f5c288b835a9050c5ec73416898d7f7732.tar.gz chromium_src-8730a2f5c288b835a9050c5ec73416898d7f7732.tar.bz2 |
ChromeOS user_manager: move all KnownUser code to separate file.
Include components/user_manager/user_manager.h has become too heavy.
This CL moves all KnownUser stuff to a new known_user.{cc,h} so that
we do not need to include all user_manager if only known_user is needed.
BUG=462823
TEST=manual
Review URL: https://codereview.chromium.org/1534173003
Cr-Commit-Position: refs/heads/master@{#366274}
Diffstat (limited to 'components/user_manager/known_user.h')
-rw-r--r-- | components/user_manager/known_user.h | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/components/user_manager/known_user.h b/components/user_manager/known_user.h new file mode 100644 index 0000000..03528dc --- /dev/null +++ b/components/user_manager/known_user.h @@ -0,0 +1,132 @@ +// Copyright 2015 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. + +#ifndef COMPONENTS_USER_MANAGER_KNOWN_USER_H_ +#define COMPONENTS_USER_MANAGER_KNOWN_USER_H_ + +#include <string> + +#include "components/user_manager/user_manager_export.h" + +class AccountId; +class PrefRegistrySimple; + +namespace base { +class DictionaryValue; +class ListValue; +class TaskRunner; +} + +namespace user_manager { +namespace known_user { +// Methods for storage/retrieval of per-user properties in Local State. + +// Performs a lookup of properties associated with |account_id|. If found, +// returns |true| and fills |out_value|. |out_value| can be NULL, if +// only existence check is required. +bool USER_MANAGER_EXPORT FindPrefs(const AccountId& account_id, + const base::DictionaryValue** out_value); + +// Updates (or creates) properties associated with |account_id| based +// on |values|. |clear| defines if existing properties are cleared (|true|) +// or if it is just a incremental update (|false|). +void USER_MANAGER_EXPORT UpdatePrefs(const AccountId& account_id, + const base::DictionaryValue& values, + bool clear); + +// Returns true if |account_id| preference by |path| does exist, +// fills in |out_value|. Otherwise returns false. +bool USER_MANAGER_EXPORT GetStringPref(const AccountId& account_id, + const std::string& path, + std::string* out_value); + +// Updates user's identified by |account_id| string preference |path|. +void USER_MANAGER_EXPORT SetStringPref(const AccountId& account_id, + const std::string& path, + const std::string& in_value); + +// Returns true if |account_id| preference by |path| does exist, +// fills in |out_value|. Otherwise returns false. +bool USER_MANAGER_EXPORT GetBooleanPref(const AccountId& account_id, + const std::string& path, + bool* out_value); + +// Updates user's identified by |account_id| boolean preference |path|. +void USER_MANAGER_EXPORT SetBooleanPref(const AccountId& account_id, + const std::string& path, + const bool in_value); + +// Returns true if |account_id| preference by |path| does exist, +// fills in |out_value|. Otherwise returns false. +bool USER_MANAGER_EXPORT GetIntegerPref(const AccountId& account_id, + const std::string& path, + int* out_value); + +// Updates user's identified by |account_id| integer preference |path|. +void USER_MANAGER_EXPORT SetIntegerPref(const AccountId& account_id, + const std::string& path, + const int in_value); + +// This call forms full account id of a known user by email and (optionally) +// gaia_id. +// This is a temporary call while migrating to AccountId. +AccountId USER_MANAGER_EXPORT GetAccountId(const std::string& user_email, + const std::string& gaia_id); + +// Updates |gaia_id| for user with |account_id|. +// TODO(alemate): Update this once AccountId contains GAIA ID +// (crbug.com/548926). +void USER_MANAGER_EXPORT UpdateGaiaID(const AccountId& account_id, + const std::string& gaia_id); + +// Find GAIA ID for user with |account_id|, fill in |out_value| and return +// true +// if GAIA ID was found or false otherwise. +// TODO(antrim): Update this once AccountId contains GAIA ID +// (crbug.com/548926). +bool USER_MANAGER_EXPORT FindGaiaID(const AccountId& account_id, + std::string* out_value); + +// Setter and getter for DeviceId known user string preference. +void USER_MANAGER_EXPORT SetDeviceId(const AccountId& account_id, + const std::string& device_id); + +std::string USER_MANAGER_EXPORT GetDeviceId(const AccountId& account_id); + +// Setter and getter for GAPSCookie known user string preference. +void USER_MANAGER_EXPORT SetGAPSCookie(const AccountId& account_id, + const std::string& gaps_cookie); + +std::string USER_MANAGER_EXPORT GetGAPSCookie(const AccountId& account_id); + +// Saves whether the user authenticates using SAML. +void USER_MANAGER_EXPORT UpdateUsingSAML(const AccountId& account_id, + const bool using_saml); + +// Returns if SAML needs to be used for authentication of the user with +// |account_id|, if it is known (was set by a |UpdateUsingSaml| call). +// Otherwise +// returns false. +bool USER_MANAGER_EXPORT IsUsingSAML(const AccountId& account_id); + +// Saves why the user has to go through re-auth flow. +void USER_MANAGER_EXPORT UpdateReauthReason(const AccountId& account_id, + const int reauth_reason); + +// Returns the reason why the user with |account_id| has to go through the +// re-auth flow. Returns true if such a reason was recorded or false +// otherwise. +bool USER_MANAGER_EXPORT FindReauthReason(const AccountId& account_id, + int* out_value); + +// Removes all user preferences associated with |account_id|. +// (This one used by user_manager only and thus not exported.) +void RemovePrefs(const AccountId& account_id); + +// Register known user prefs. +void USER_MANAGER_EXPORT RegisterPrefs(PrefRegistrySimple* registry); +} +} // namespace user_manager + +#endif // COMPONENTS_USER_MANAGER_KNOWN_USER_H_ |