Always reset touch action at the beginning of a new gesture sequence
[chromium-blink-merge.git] / components / encryptor / encryptor.h
blob48bb2e5969a664b58c623a8bd39c49b09f0cbd99
1 // Copyright 2014 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.
5 #ifndef COMPONENTS_ENCRYPTOR_ENCRYPTOR_H_
6 #define COMPONENTS_ENCRYPTOR_ENCRYPTOR_H_
8 #include <string>
10 #include "base/strings/string16.h"
12 // The Encryptor class gives access to simple encryption and decryption of
13 // strings. Note that on Mac, access to the system Keychain is required and
14 // these calls can block the current thread to collect user input.
15 class Encryptor {
16 public:
17 // Encrypt a string16. The output (second argument) is
18 // really an array of bytes, but we're passing it back
19 // as a std::string
20 static bool EncryptString16(const base::string16& plaintext,
21 std::string* ciphertext);
23 // Decrypt an array of bytes obtained with EncryptString16
24 // back into a string16. Note that the input (first argument)
25 // is a std::string, so you need to first get your (binary)
26 // data into a string.
27 static bool DecryptString16(const std::string& ciphertext,
28 base::string16* plaintext);
30 // Encrypt a string.
31 static bool EncryptString(const std::string& plaintext,
32 std::string* ciphertext);
34 // Decrypt an array of bytes obtained with EnctryptString
35 // back into a string. Note that the input (first argument)
36 // is a std::string, so you need to first get your (binary)
37 // data into a string.
38 static bool DecryptString(const std::string& ciphertext,
39 std::string* plaintext);
41 #if defined(OS_MACOSX)
42 // For unit testing purposes we instruct the Encryptor to use a mock Keychain
43 // on the Mac. The default is to use the real Keychain.
44 static void UseMockKeychain(bool use_mock);
45 #endif
47 private:
48 DISALLOW_IMPLICIT_CONSTRUCTORS(Encryptor);
51 #endif // COMPONENTS_ENCRYPTOR_ENCRYPTOR_H_