// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_LEVELDB_PROTO_PUBLIC_SHARED_PROTO_DATABASE_CLIENT_LIST_H_ #define COMPONENTS_LEVELDB_PROTO_PUBLIC_SHARED_PROTO_DATABASE_CLIENT_LIST_H_ #include <stddef.h> #include <string> #include "base/component_export.h" namespace leveldb_proto { const char* const kFeatureEngagementName = …; // The enum values are used to index into the shared database. Do not rearrange // or reuse the integer values. Add new database types at the end of the enum, // and update the string mapping in ProtoDbTypeToString(). Also update the // variant LevelDBClient in // //tools/metrics/histograms/metadata/leveldb_proto/histograms.xml to match the // strings for the types. enum class ProtoDbType { … }; // List of databases that need to keep using unique db instances. New databases // shouldn't be here unless they have a good reason. constexpr ProtoDbType kBlocklistedDbForSharedImpl[]{ … }; // Add any obsolete databases in this list so that, if the data is no longer // needed. constexpr ProtoDbType kObsoleteSharedProtoDbTypeClients[] = …; class COMPONENT_EXPORT(LEVELDB_PROTO) SharedProtoDatabaseClientList { … }; } // namespace leveldb_proto #endif // COMPONENTS_LEVELDB_PROTO_PUBLIC_SHARED_PROTO_DATABASE_CLIENT_LIST_H_