Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: src/trusted/plugin/service_runtime.h

Issue 7799028: Remove src/trusted/plugin (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: fix gyp file for necessary -I Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/trusted/plugin/scriptable_handle.cc ('k') | src/trusted/plugin/service_runtime.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/trusted/plugin/service_runtime.h
diff --git a/src/trusted/plugin/service_runtime.h b/src/trusted/plugin/service_runtime.h
deleted file mode 100644
index 51b8c455674accea9c96c9cd4baf326964e75c0b..0000000000000000000000000000000000000000
--- a/src/trusted/plugin/service_runtime.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright (c) 2011 The Native Client Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-// A class containing information regarding a socket connection to a
-// service runtime instance.
-
-#ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_SERVICE_RUNTIME_H_
-#define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_SERVICE_RUNTIME_H_
-
-#include "native_client/src/include/nacl_macros.h"
-#include "native_client/src/include/nacl_scoped_ptr.h"
-#include "native_client/src/include/nacl_string.h"
-#include "native_client/src/shared/imc/nacl_imc.h"
-#include "native_client/src/shared/platform/nacl_sync.h"
-#include "native_client/src/shared/srpc/nacl_srpc.h"
-#include "native_client/src/trusted/reverse_service/reverse_service.h"
-#include "native_client/src/trusted/plugin/utility.h"
-#include "native_client/src/trusted/plugin/file_downloader.h"
-#include "native_client/src/trusted/desc/nacl_desc_wrapper.h"
-#include "native_client/src/trusted/weak_ref/weak_ref.h"
-
-#include "ppapi/cpp/completion_callback.h"
-
-namespace nacl {
-class DescWrapper;
-struct SelLdrLauncher;
-} // namespace
-
-namespace plugin {
-
-class BrowserInterface;
-class ErrorInfo;
-class Plugin;
-class SrpcClient;
-class SrtSocket;
-class ScriptableHandle;
-class ServiceRuntime;
-
-// Callback resources are essentially our continuation state.
-
-struct LogToJavaScriptConsoleResource {
- public:
- explicit LogToJavaScriptConsoleResource(std::string msg)
- : message(msg) {}
- std::string message;
-};
-
-struct OpenManifestEntryResource {
- public:
- OpenManifestEntryResource(std::string target_url,
- int32_t* descp,
- ErrorInfo* infop,
- bool* portablep,
- bool* op_complete)
- : url(target_url),
- out_desc(descp),
- error_info(infop),
- is_portable(portablep),
- op_complete_ptr(op_complete) {}
- std::string url;
- int32_t* out_desc;
- ErrorInfo* error_info;
- bool* is_portable;
- bool* op_complete_ptr;
-};
-
-struct CloseManifestEntryResource {
- public:
- CloseManifestEntryResource(int32_t desc_to_close,
- bool* op_complete,
- bool* op_result)
- : desc(desc_to_close),
- op_complete_ptr(op_complete),
- op_result_ptr(op_result) {}
-
- int32_t desc;
- bool* op_complete_ptr;
- bool* op_result_ptr;
-};
-
-// Do not invoke from the main thread, since the main methods will
-// invoke CallOnMainThread and then wait on a condvar for the task to
-// complete: if invoked from the main thread, the main method not
-// returning (and thus unblocking the main thread) means that the
-// main-thread continuation methods will never get called, and thus
-// we'd get a deadlock.
-class PluginReverseInterface: public nacl::ReverseInterface {
- public:
- PluginReverseInterface(nacl::WeakRefAnchor* anchor,
- Plugin* plugin,
- pp::CompletionCallback init_done_cb);
-
- virtual ~PluginReverseInterface();
-
- void ShutDown();
-
- virtual void Log(nacl::string message);
-
- virtual void StartupInitializationComplete();
-
- virtual bool EnumerateManifestKeys(std::set<nacl::string>* out_keys);
-
- virtual bool OpenManifestEntry(nacl::string url_key, int32_t* out_desc);
-
- virtual bool CloseManifestEntry(int32_t desc);
-
- protected:
- virtual void Log_MainThreadContinuation(LogToJavaScriptConsoleResource* p,
- int32_t err);
-
- virtual void OpenManifestEntry_MainThreadContinuation(
- OpenManifestEntryResource* p,
- int32_t err);
-
- virtual void StreamAsFile_MainThreadContinuation(
- OpenManifestEntryResource* p,
- int32_t result);
-
- virtual void CloseManifestEntry_MainThreadContinuation(
- CloseManifestEntryResource* cls,
- int32_t err);
-
- private:
- nacl::WeakRefAnchor* anchor_; // holds a ref
- Plugin* plugin_; // value may be copied, but should be used only in
- // main thread in WeakRef-protected callbacks.
- NaClMutex mu_;
- NaClCondVar cv_;
- bool shutting_down_;
-
- pp::CompletionCallback init_done_cb_;
-};
-
-// ServiceRuntime abstracts a NativeClient sel_ldr instance.
-class ServiceRuntime {
- public:
- // TODO(sehr): This class should also implement factory methods, using the
- // Start method below.
- ServiceRuntime(Plugin* plugin,
- pp::CompletionCallback init_done_cb);
- // The destructor terminates the sel_ldr process.
- ~ServiceRuntime();
-
- // Spawn a sel_ldr instance and establish an SrpcClient to it. The nexe
- // to be started is passed through |nacl_file_desc|. On success, returns
- // true. On failure, returns false and |error_string| is set to something
- // describing the error.
- bool Start(nacl::DescWrapper* nacl_file_desc, ErrorInfo* error_info);
-
- // Starts the application channel to the nexe.
- SrpcClient* SetupAppChannel();
-
- bool Kill();
- bool Log(int severity, nacl::string msg);
- Plugin* plugin() const { return plugin_; }
- void Shutdown();
-
- nacl::DescWrapper* async_receive_desc() { return async_receive_desc_.get(); }
- nacl::DescWrapper* async_send_desc() { return async_send_desc_.get(); }
-
- private:
- NACL_DISALLOW_COPY_AND_ASSIGN(ServiceRuntime);
- bool InitCommunication(nacl::DescWrapper* shm, ErrorInfo* error_info);
-
- NaClSrpcChannel command_channel_;
- Plugin* plugin_;
- BrowserInterface* browser_interface_;
- nacl::ReverseService* reverse_service_;
- nacl::scoped_ptr<nacl::SelLdrLauncher> subprocess_;
-
- // We need two IMC sockets rather than one because IMC sockets are
- // not full-duplex on Windows.
- // See http://code.google.com/p/nativeclient/issues/detail?id=690.
- // TODO(mseaborn): We should not have to work around this.
- nacl::scoped_ptr<nacl::DescWrapper> async_receive_desc_;
- nacl::scoped_ptr<nacl::DescWrapper> async_send_desc_;
-
- nacl::WeakRefAnchor* anchor_;
-
- PluginReverseInterface* rev_interface_;
-};
-
-} // namespace plugin
-
-#endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_SERVICE_RUNTIME_H_
« no previous file with comments | « src/trusted/plugin/scriptable_handle.cc ('k') | src/trusted/plugin/service_runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698