OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 * Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 // Manifest interface class. | 7 // Manifest interface class. |
8 | 8 |
9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ | 9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ |
10 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ | 10 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ |
(...skipping 28 matching lines...) Expand all Loading... |
39 // a resource in the extension origin. | 39 // a resource in the extension origin. |
40 | 40 |
41 // Gets the full program URL for the current sandbox ISA from the | 41 // Gets the full program URL for the current sandbox ISA from the |
42 // manifest file. Fills in |pnacl_options| if the program requires | 42 // manifest file. Fills in |pnacl_options| if the program requires |
43 // PNaCl translation. | 43 // PNaCl translation. |
44 virtual bool GetProgramURL(nacl::string* full_url, | 44 virtual bool GetProgramURL(nacl::string* full_url, |
45 PnaclOptions* pnacl_options, | 45 PnaclOptions* pnacl_options, |
46 bool* uses_nonsfi_mode, | 46 bool* uses_nonsfi_mode, |
47 ErrorInfo* error_info) const = 0; | 47 ErrorInfo* error_info) const = 0; |
48 | 48 |
49 // Resolves a URL relative to the manifest base URL | |
50 virtual bool ResolveURL(const nacl::string& relative_url, | |
51 nacl::string* full_url, | |
52 ErrorInfo* error_info) const = 0; | |
53 | |
54 // Gets the file names from the "files" section of the manifest. No | 49 // Gets the file names from the "files" section of the manifest. No |
55 // checking that the keys' values are proper ISA dictionaries -- it | 50 // checking that the keys' values are proper ISA dictionaries -- it |
56 // is assumed that other consistency checks take care of that, and | 51 // is assumed that other consistency checks take care of that, and |
57 // that the keys are appropriate for use with ResolveKey. | 52 // that the keys are appropriate for use with ResolveKey. |
58 virtual bool GetFileKeys(std::set<nacl::string>* keys) const = 0; | 53 virtual bool GetFileKeys(std::set<nacl::string>* keys) const = 0; |
59 | 54 |
60 // Resolves a key from the "files" section to a fully resolved URL, | 55 // Resolves a key from the "files" section to a fully resolved URL, |
61 // i.e., relative URL values are fully expanded relative to the | 56 // i.e., relative URL values are fully expanded relative to the |
62 // manifest's URL (via ResolveURL). Fills in |pnacl_options| if | 57 // manifest's URL. Fills in |pnacl_options| if |
63 // the resolved key requires a pnacl translation step to obtain | 58 // the resolved key requires a pnacl translation step to obtain |
64 // the final requested resource. | 59 // the final requested resource. |
65 // If there was an error, details are reported via error_info. | 60 // If there was an error, details are reported via error_info. |
66 virtual bool ResolveKey(const nacl::string& key, | 61 virtual bool ResolveKey(const nacl::string& key, |
67 nacl::string* full_url, | 62 nacl::string* full_url, |
68 PnaclOptions* pnacl_options, | 63 PnaclOptions* pnacl_options, |
69 ErrorInfo* error_info) const = 0; | 64 ErrorInfo* error_info) const = 0; |
70 | 65 |
71 protected: | 66 protected: |
72 NACL_DISALLOW_COPY_AND_ASSIGN(Manifest); | 67 NACL_DISALLOW_COPY_AND_ASSIGN(Manifest); |
73 }; | 68 }; |
74 | 69 |
75 | 70 |
76 } // namespace plugin | 71 } // namespace plugin |
77 | 72 |
78 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ | 73 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ |
OLD | NEW |