| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ | 5 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ |
| 6 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ | 6 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 void ReportPpapiError(int32_t pp_error, const nacl::string& message); | 190 void ReportPpapiError(int32_t pp_error, const nacl::string& message); |
| 191 void ReportPpapiError(int32_t pp_error); | 191 void ReportPpapiError(int32_t pp_error); |
| 192 | 192 |
| 193 private: | 193 private: |
| 194 NACL_DISALLOW_COPY_AND_ASSIGN(PnaclCoordinator); | 194 NACL_DISALLOW_COPY_AND_ASSIGN(PnaclCoordinator); |
| 195 | 195 |
| 196 // BitcodeToNative is the factory method for PnaclCoordinators. | 196 // BitcodeToNative is the factory method for PnaclCoordinators. |
| 197 // Therefore the constructor is private. | 197 // Therefore the constructor is private. |
| 198 PnaclCoordinator(Plugin* plugin, | 198 PnaclCoordinator(Plugin* plugin, |
| 199 const nacl::string& pexe_url, | 199 const nacl::string& pexe_url, |
| 200 const pp::CompletionCallback& translate_notify_callback, | 200 const pp::CompletionCallback& translate_notify_callback); |
| 201 const nacl::string& resource_base_url); | |
| 202 | 201 |
| 203 // Callback for when llc and ld have been downloaded. | 202 // Callback for when llc and ld have been downloaded. |
| 204 // This is the first callback invoked in response to BitcodeToNative. | 203 // This is the first callback invoked in response to BitcodeToNative. |
| 205 void ResourcesDidLoad(int32_t pp_error); | 204 void ResourcesDidLoad(int32_t pp_error); |
| 206 | 205 |
| 207 // Callbacks for temporary file related stages. | 206 // Callbacks for temporary file related stages. |
| 208 // They are invoked from ResourcesDidLoad and proceed in declaration order. | 207 // They are invoked from ResourcesDidLoad and proceed in declaration order. |
| 209 // Invoked when the temporary file system is successfully opened in PPAPI. | 208 // Invoked when the temporary file system is successfully opened in PPAPI. |
| 210 void FileSystemDidOpen(int32_t pp_error); | 209 void FileSystemDidOpen(int32_t pp_error); |
| 211 // Invoked when the obj_file_ temporary file I/O pair is created. | 210 // Invoked when the obj_file_ temporary file I/O pair is created. |
| (...skipping 22 matching lines...) Expand all Loading... |
| 234 | 233 |
| 235 // The plugin owning the nexe for which we are doing translation. | 234 // The plugin owning the nexe for which we are doing translation. |
| 236 Plugin* plugin_; | 235 Plugin* plugin_; |
| 237 | 236 |
| 238 pp::CompletionCallback translate_notify_callback_; | 237 pp::CompletionCallback translate_notify_callback_; |
| 239 // PnaclRefCount is only needed to support file lookups. | 238 // PnaclRefCount is only needed to support file lookups. |
| 240 // TODO(sehr): remove this when file lookup is through ReverseService. | 239 // TODO(sehr): remove this when file lookup is through ReverseService. |
| 241 pp::CompletionCallbackFactory<PnaclCoordinator, | 240 pp::CompletionCallbackFactory<PnaclCoordinator, |
| 242 PnaclRefCount> callback_factory_; | 241 PnaclRefCount> callback_factory_; |
| 243 | 242 |
| 244 // URLs used to lookup downloaded resources. | |
| 245 nacl::string resource_base_url_; | |
| 246 | |
| 247 // Helper subprocesses loaded by the plugin (deleted by the plugin). | 243 // Helper subprocesses loaded by the plugin (deleted by the plugin). |
| 248 // A nacl sandbox running the llc nexe. | 244 // A nacl sandbox running the llc nexe. |
| 249 NaClSubprocess* llc_subprocess_; | 245 NaClSubprocess* llc_subprocess_; |
| 250 // A nacl sandbox running the ld nexe. | 246 // A nacl sandbox running the ld nexe. |
| 251 NaClSubprocess* ld_subprocess_; | 247 NaClSubprocess* ld_subprocess_; |
| 252 // True if the translation thread and subprocesses should exit. | 248 // True if the translation thread and subprocesses should exit. |
| 253 bool subprocesses_should_die_; | 249 bool subprocesses_should_die_; |
| 254 // Used to guard and publish subprocesses_should_die_. | 250 // Used to guard and publish subprocesses_should_die_. |
| 255 struct NaClMutex subprocess_mu_; | 251 struct NaClMutex subprocess_mu_; |
| 256 | 252 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 278 pp::CompletionCallback translate_done_cb_; | 274 pp::CompletionCallback translate_done_cb_; |
| 279 | 275 |
| 280 // Used to report information when errors (PPAPI or otherwise) are reported. | 276 // Used to report information when errors (PPAPI or otherwise) are reported. |
| 281 ErrorInfo error_info_; | 277 ErrorInfo error_info_; |
| 282 }; | 278 }; |
| 283 | 279 |
| 284 //---------------------------------------------------------------------- | 280 //---------------------------------------------------------------------- |
| 285 | 281 |
| 286 } // namespace plugin; | 282 } // namespace plugin; |
| 287 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ | 283 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ |
| OLD | NEW |