summaryrefslogtreecommitdiffstats
path: root/components/user_manager/known_user.h
diff options
context:
space:
mode:
authoralemate <alemate@chromium.org>2015-12-18 23:13:09 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-19 07:14:08 +0000
commit8730a2f5c288b835a9050c5ec73416898d7f7732 (patch)
tree3991540fa31c9d1fdbd93a6f37d1ce787c263eb7 /components/user_manager/known_user.h
parent8a54364833d5f087498816148cf7f4a5c69d46d8 (diff)
downloadchromium_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.h132
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_