#include "ppapi/native_client/src/trusted/plugin/plugin_error.h"
#include "ppapi/native_client/src/trusted/plugin/service_runtime.h"
+struct PP_PNaClOptions;
+
namespace nacl {
class DescWrapper;
}
namespace plugin {
-class Manifest;
class NaClSubprocess;
class Plugin;
class PnaclCoordinator;
-class PnaclOptions;
class PnaclResources;
class TempFile;
// Start the translation process. It will continue to run and consume data
// as it is passed in with PutBytes.
void RunTranslate(const pp::CompletionCallback& finish_callback,
- const Manifest* manifest,
+ int32_t manifest_id,
const std::vector<TempFile*>* obj_files,
TempFile* nexe_file,
nacl::DescWrapper* invalid_desc_wrapper,
ErrorInfo* error_info,
PnaclResources* resources,
- PnaclOptions* pnacl_options,
+ PP_PNaClOptions* pnacl_options,
+ const nacl::string &architecture_attributes,
PnaclCoordinator* coordinator,
Plugin* plugin);
private:
// Starts an individual llc or ld subprocess used for translation.
NaClSubprocess* StartSubprocess(const nacl::string& url,
- const Manifest* manifest,
+ int32_t manifest_id,
ErrorInfo* error_info);
// Helper thread entry point for translation. Takes a pointer to
// PnaclTranslateThread and calls DoTranslate().
int64_t compile_time_;
// Data about the translation files, owned by the coordinator
- const Manifest* manifest_;
+ int32_t manifest_id_;
const std::vector<TempFile*>* obj_files_;
TempFile* nexe_file_;
nacl::DescWrapper* invalid_desc_wrapper_;
ErrorInfo* coordinator_error_info_;
PnaclResources* resources_;
- PnaclOptions* pnacl_options_;
+ PP_PNaClOptions* pnacl_options_;
+ nacl::string architecture_attributes_;
PnaclCoordinator* coordinator_;
Plugin* plugin_;
private: