• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 BASE_NIX_MIME_UTIL_XDG_H_
6 #define BASE_NIX_MIME_UTIL_XDG_H_
7 
8 #include <string>
9 
10 #include "base/base_export.h"
11 #include "build/build_config.h"
12 
13 namespace base {
14 
15 class FilePath;
16 
17 namespace nix {
18 
19 // Gets the mime type for a file at |filepath|.
20 //
21 // The mime type is calculated based only on the file name of |filepath|.  In
22 // particular |filepath| will not be touched on disk and |filepath| doesn't even
23 // have to exist.  This means that the function does not work for directories
24 // (i.e. |filepath| is assumed to be a path to a file).
25 //
26 // Note that this function might need to read from disk the mime-types data
27 // provided by the OS.  Therefore this function should not be called from
28 // threads that disallow IO via base::ThreadRestrictions::SetIOAllowed(false).
29 //
30 // If the mime type is unknown, this will return application/octet-stream.
31 BASE_EXPORT std::string GetFileMimeType(const FilePath& filepath);
32 
33 }  // namespace nix
34 }  // namespace base
35 
36 #endif  // BASE_NIX_MIME_UTIL_XDG_H_
37