|  | // Copyright (c) 2011 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 BASE_NIX_MIME_UTIL_XDG_H_ | 
|  | #define BASE_NIX_MIME_UTIL_XDG_H_ | 
|  |  | 
|  | #include <string> | 
|  |  | 
|  | #include "base/base_export.h" | 
|  | #include "build_config.h" | 
|  |  | 
|  | namespace base { | 
|  |  | 
|  | class FilePath; | 
|  |  | 
|  | namespace nix { | 
|  |  | 
|  | // Gets the mime type for a file at |filepath|. | 
|  | // | 
|  | // The mime type is calculated based only on the file name of |filepath|.  In | 
|  | // particular |filepath| will not be touched on disk and |filepath| doesn't even | 
|  | // have to exist.  This means that the function does not work for directories | 
|  | // (i.e. |filepath| is assumed to be a path to a file). | 
|  | // | 
|  | // Note that this function might need to read from disk the mime-types data | 
|  | // provided by the OS.  Therefore this function should not be called from | 
|  | // threads that disallow IO via base::ThreadRestrictions::SetIOAllowed(false). | 
|  | // | 
|  | // If the mime type is unknown, this will return application/octet-stream. | 
|  | BASE_EXPORT std::string GetFileMimeType(const FilePath& filepath); | 
|  |  | 
|  | }  // namespace nix | 
|  | }  // namespace base | 
|  |  | 
|  | #endif  // BASE_NIX_MIME_UTIL_XDG_H_ |