summaryrefslogtreecommitdiff
path: root/chromium/components/download/database/download_namespace.h
blob: 923f61e01c1d6dcab6a6f3bd416a0bb8a740a735 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 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 COMPONENTS_DOWNLOAD_DATABASE_DOWNLOAD_NAMESPACE_H_
#define COMPONENTS_DOWNLOAD_DATABASE_DOWNLOAD_NAMESPACE_H_

#include <string>

namespace download {

// The namespace of the download, used for classifying the download.
// Entries in this enum can only be appended instead of being deleted or reused.
enum class DownloadNamespace {
  NAMESPACE_UNKNOWN = 0,
  // Regular browser downloads, either through context menu or navigation.
  NAMESPACE_BROWSER_DOWNLOAD,
};

// Converts a namespace to its string representation.
std::string DownloadNamespaceToString(DownloadNamespace download_namespace);

// Converts a string representation of a namespace to its namespace, or
// NAMESPACE_UNKNOWN if the string doesn't map to one.
DownloadNamespace DownloadNamespaceFromString(
    const std::string& namespace_string);

}  // namespace download

#endif  // COMPONENTS_DOWNLOAD_DATABASE_DOWNLOAD_NAMESPACE_H_