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.
4
5#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_CONSTANTS_H_
6#define CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_CONSTANTS_H_
7
8#include <string>
9
10#include "extensions/common/manifest.h"
11
12namespace extensions {
13namespace schema_constants {
14
15extern const char kWildcard[];
16
17extern const char kInstallationMode[];
18extern const char kAllowed[];
19extern const char kBlocked[];
20extern const char kForceInstalled[];
21extern const char kNormalInstalled[];
22
23extern const char kUpdateUrl[];
24extern const char kInstallSources[];
25extern const char kAllowedTypes[];
26
27extern const char kUpdateUrlPrefix[];
28
29struct AllowedTypesMapEntry {
30  // Name of allowed types of extensions used in schema of extension
31  // management preference.
32  const char* name;
33  // The corresponding Manifest::Type.
34  Manifest::Type manifest_type;
35};
36
37extern const size_t kAllowedTypesMapSize;
38extern const AllowedTypesMapEntry kAllowedTypesMap[];
39
40// Helper fuction over |kAllowedTypesMap|, returns Manifest::TYPE_UNKNOWN if
41// not found.
42Manifest::Type GetManifestType(const std::string& name);
43
44}  // namespace schema_constants
45}  // namespace extensions
46
47#endif  // CHROME_BROWSER_EXTENSIONS_EXTENSION_MANAGEMENT_CONSTANTS_H_
48