Feat: runtime profile override with getenv
[platform/framework/web/chromium-efl.git] / sql / internal_api_token.h
1 // Copyright 2018 The Chromium Authors
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 SQL_INTERNAL_API_TOKEN_H_
6 #define SQL_INTERNAL_API_TOKEN_H_
7
8 namespace base {
9 class FilePath;
10 }  // namespace base
11
12 namespace sql {
13
14 namespace test {
15 struct ColumnInfo;
16 bool CorruptSizeInHeader(const base::FilePath&);
17 }  // namespace test
18
19 // Restricts access to APIs internal to the //sql package.
20 //
21 // This implements Java's package-private via the passkey idiom.
22 class InternalApiToken {
23  private:
24   // Must NOT be =default to disallow creation by uniform initialization.
25   InternalApiToken() {}
26   InternalApiToken(const InternalApiToken&) = default;
27
28   friend class BuiltInRecovery;
29   friend class DatabaseTestPeer;
30   friend class Recovery;
31   friend struct test::ColumnInfo;
32   friend bool test::CorruptSizeInHeader(const base::FilePath&);
33 };
34
35 }  // namespace sql
36
37 #endif  // SQL_INTERNAL_API_TOKEN_H_