| // Copyright 2018 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 SQL_INTERNAL_API_TOKEN_H_ |
| #define SQL_INTERNAL_API_TOKEN_H_ |
| |
| namespace sql { |
| |
| namespace test { |
| struct ColumnInfo; |
| bool CorruptSizeInHeader(const base::FilePath&); |
| } // namespace test |
| |
| // Restricts access to APIs internal to the //sql package. |
| // |
| // This implements Java's package-private via the passkey idiom. |
| class InternalApiToken { |
| private: |
| // Must NOT be =default to disallow creation by uniform initialization. |
| InternalApiToken() {} |
| InternalApiToken(const InternalApiToken&) = default; |
| |
| friend class DatabaseTestPeer; |
| friend class Recovery; |
| friend struct test::ColumnInfo; |
| friend bool test::CorruptSizeInHeader(const base::FilePath&); |
| }; |
| |
| } // namespace sql |
| |
| #endif // SQL_INTERNAL_API_TOKEN_H_ |