Home | History | Annotate | Download | only in webdata
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_WEBDATA_TOKEN_SERVICE_TABLE_H_
      6 #define CHROME_BROWSER_WEBDATA_TOKEN_SERVICE_TABLE_H_
      7 #pragma once
      8 
      9 #include "chrome/browser/webdata/web_database_table.h"
     10 
     11 class TokenServiceTable : public WebDatabaseTable {
     12  public:
     13   TokenServiceTable(sql::Connection* db, sql::MetaTable* meta_table)
     14       : WebDatabaseTable(db, meta_table) {}
     15   virtual ~TokenServiceTable() {}
     16   virtual bool Init();
     17   virtual bool IsSyncable();
     18 
     19   // Remove all tokens previously set with SetTokenForService.
     20   bool RemoveAllTokens();
     21 
     22   // Retrieves all tokens previously set with SetTokenForService.
     23   // Returns true if there were tokens and we decrypted them,
     24   // false if there was a failure somehow
     25   bool GetAllTokens(std::map<std::string, std::string>* tokens);
     26 
     27   // Store a token in the token_service table. Stored encrypted. May cause
     28   // a mac keychain popup.
     29   // True if we encrypted a token and stored it, false otherwise.
     30   bool SetTokenForService(const std::string& service,
     31                           const std::string& token);
     32 
     33  private:
     34   DISALLOW_COPY_AND_ASSIGN(TokenServiceTable);
     35 };
     36 
     37 
     38 #endif  // CHROME_BROWSER_WEBDATA_TOKEN_SERVICE_TABLE_H_
     39