Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ppapi / native_client / src / trusted / plugin / pnacl_translate_thread.h
index 4de0963..1032c1e 100644 (file)
@@ -19,6 +19,8 @@
 #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;
 }
@@ -26,11 +28,9 @@ class DescWrapper;
 
 namespace plugin {
 
-class Manifest;
 class NaClSubprocess;
 class Plugin;
 class PnaclCoordinator;
-class PnaclOptions;
 class PnaclResources;
 class TempFile;
 
@@ -42,13 +42,14 @@ class PnaclTranslateThread {
   // 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);
 
@@ -68,7 +69,7 @@ class PnaclTranslateThread {
  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().
@@ -113,13 +114,14 @@ class PnaclTranslateThread {
   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: