• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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 COMPONENTS_NACL_BROWSER_NACL_FILE_HOST_H_
6 #define COMPONENTS_NACL_BROWSER_NACL_FILE_HOST_H_
7 
8 #include <string>
9 
10 #include "base/memory/ref_counted.h"
11 
12 class GURL;
13 
14 namespace base {
15 class FilePath;
16 }
17 
18 namespace IPC {
19 class Message;
20 }
21 
22 namespace nacl {
23 class NaClHostMessageFilter;
24 }
25 
26 // Opens NaCl Files in the Browser process, on behalf of the NaCl plugin.
27 
28 namespace nacl_file_host {
29 
30 // Open a PNaCl file (readonly) on behalf of the NaCl plugin.
31 void GetReadonlyPnaclFd(
32     scoped_refptr<nacl::NaClHostMessageFilter> nacl_host_message_filter,
33     const std::string& filename,
34     IPC::Message* reply_msg);
35 
36 // Return true if the filename requested is valid for opening.
37 // Sets file_to_open to the base::FilePath which we will attempt to open.
38 bool PnaclCanOpenFile(const std::string& filename,
39                       base::FilePath* file_to_open);
40 
41 // Opens a NaCl executable file for reading and executing.
42 void OpenNaClExecutable(
43     scoped_refptr<nacl::NaClHostMessageFilter> nacl_host_message_filter,
44     int render_view_id,
45     const GURL& file_url,
46     IPC::Message* reply_msg);
47 
48 }  // namespace nacl_file_host
49 
50 #endif  // COMPONENTS_NACL_BROWSER_NACL_FILE_HOST_H_
51