summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/util/user_settings_posix.cc
blob: f8fd3f01890cab4b52dc2695a21e1ab7a7bfe0f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Copyright (c) 2009 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 entry.
//
// Implement the storage of service tokens in memory.

#include "chrome/browser/sync/util/user_settings.h"

namespace browser_sync {

void UserSettings::ClearAllServiceTokens() {
  service_tokens_.clear();
}

void UserSettings::SetAuthTokenForService(
    const std::string& email,
    const std::string& service_name,
    const std::string& long_lived_service_token) {
  service_tokens_[service_name] = long_lived_service_token;
}

bool UserSettings::GetLastUserAndServiceToken(const std::string& service_name,
                                              std::string* username,
                                              std::string* service_token) {
  ServiceTokenMap::const_iterator iter = service_tokens_.find(service_name);

  if (iter != service_tokens_.end()) {
    *username = email_;
    *service_token = iter->second;
    return true;
  }

  return false;
}

}  // namespace browser_sync