| 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 23 matching lines...) Expand all Loading... |
| 34 // Some manifests (e.g., the pnacl coordinator manifest) need to access | 34 // Some manifests (e.g., the pnacl coordinator manifest) need to access |
| 35 // resources from an extension origin distinct from the plugin's origin | 35 // resources from an extension origin distinct from the plugin's origin |
| 36 // (e.g., the pnacl coordinator needs to load llc, ld, and some libraries). | 36 // (e.g., the pnacl coordinator needs to load llc, ld, and some libraries). |
| 37 // This out-parameter is true if this manifest lookup confers access to | 37 // This out-parameter is true if this manifest lookup confers access to |
| 38 // a resource in the extension origin. | 38 // a resource in the extension origin. |
| 39 | 39 |
| 40 // Gets the full program URL for the current sandbox ISA from the | 40 // Gets the full program URL for the current sandbox ISA from the |
| 41 // manifest file. Sets |pnacl_translate| to |true| if the program is | 41 // manifest file. Sets |pnacl_translate| to |true| if the program is |
| 42 // requires pnacl translation. | 42 // requires pnacl translation. |
| 43 virtual bool GetProgramURL(nacl::string* full_url, | 43 virtual bool GetProgramURL(nacl::string* full_url, |
| 44 nacl::string* cache_identity, |
| 44 ErrorInfo* error_info, | 45 ErrorInfo* error_info, |
| 45 bool* pnacl_translate) const = 0; | 46 bool* pnacl_translate) const = 0; |
| 46 | 47 |
| 47 // Resolves a URL relative to the manifest base URL | 48 // Resolves a URL relative to the manifest base URL |
| 48 virtual bool ResolveURL(const nacl::string& relative_url, | 49 virtual bool ResolveURL(const nacl::string& relative_url, |
| 49 nacl::string* full_url, | 50 nacl::string* full_url, |
| 50 ErrorInfo* error_info) const = 0; | 51 ErrorInfo* error_info) const = 0; |
| 51 | 52 |
| 52 // Gets the file names from the "files" section of the manifest. No | 53 // Gets the file names from the "files" section of the manifest. No |
| 53 // checking that the keys' values are proper ISA dictionaries -- it | 54 // checking that the keys' values are proper ISA dictionaries -- it |
| 54 // is assumed that other consistency checks take care of that, and | 55 // is assumed that other consistency checks take care of that, and |
| 55 // that the keys are appropriate for use with ResolveKey. | 56 // that the keys are appropriate for use with ResolveKey. |
| 56 virtual bool GetFileKeys(std::set<nacl::string>* keys) const = 0; | 57 virtual bool GetFileKeys(std::set<nacl::string>* keys) const = 0; |
| 57 | 58 |
| 58 // Resolves a key from the "files" section to a fully resolved URL, | 59 // Resolves a key from the "files" section to a fully resolved URL, |
| 59 // i.e., relative URL values are fully expanded relative to the | 60 // i.e., relative URL values are fully expanded relative to the |
| 60 // manifest's URL (via ResolveURL). |pnacl_translate| tells | 61 // manifest's URL (via ResolveURL). |pnacl_translate| tells |
| 61 // the caller whether the resolution requires a pnacl translation step. | 62 // the caller whether the resolution requires a pnacl translation step. |
| 62 // If there was an error, details are reported via error_info. | 63 // If there was an error, details are reported via error_info. |
| 63 virtual bool ResolveKey(const nacl::string& key, | 64 virtual bool ResolveKey(const nacl::string& key, |
| 64 nacl::string* full_url, | 65 nacl::string* full_url, |
| 66 nacl::string* cache_identity, |
| 65 ErrorInfo* error_info, | 67 ErrorInfo* error_info, |
| 66 bool* pnacl_translate) const = 0; | 68 bool* pnacl_translate) const = 0; |
| 67 | 69 |
| 68 protected: | 70 protected: |
| 69 NACL_DISALLOW_COPY_AND_ASSIGN(Manifest); | 71 NACL_DISALLOW_COPY_AND_ASSIGN(Manifest); |
| 70 }; | 72 }; |
| 71 | 73 |
| 72 | 74 |
| 73 } // namespace plugin | 75 } // namespace plugin |
| 74 | 76 |
| 75 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ | 77 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_MANIFEST_H_ |
| OLD | NEW |