| Index: ppapi/native_client/src/trusted/plugin/service_runtime.h
|
| diff --git a/ppapi/native_client/src/trusted/plugin/service_runtime.h b/ppapi/native_client/src/trusted/plugin/service_runtime.h
|
| deleted file mode 100644
|
| index 2fa78b494a9d942a71d44dd5080f9f81dac9c983..0000000000000000000000000000000000000000
|
| --- a/ppapi/native_client/src/trusted/plugin/service_runtime.h
|
| +++ /dev/null
|
| @@ -1,127 +0,0 @@
|
| -/* -*- c++ -*- */
|
| -/*
|
| - * Copyright (c) 2012 The Chromium 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/public/imc_types.h"
|
| -#include "native_client/src/shared/platform/nacl_sync.h"
|
| -#include "native_client/src/shared/srpc/nacl_srpc.h"
|
| -
|
| -#include "ppapi/cpp/completion_callback.h"
|
| -#include "ppapi/native_client/src/trusted/plugin/utility.h"
|
| -
|
| -struct NaClFileInfo;
|
| -
|
| -namespace plugin {
|
| -
|
| -class ErrorInfo;
|
| -class Plugin;
|
| -class SelLdrLauncherChrome;
|
| -class SrpcClient;
|
| -class ServiceRuntime;
|
| -
|
| -// Struct of params used by StartSelLdr. Use a struct so that callback
|
| -// creation templates aren't overwhelmed with too many parameters.
|
| -struct SelLdrStartParams {
|
| - SelLdrStartParams(const std::string& url,
|
| - const PP_NaClFileInfo& file_info,
|
| - PP_NaClAppProcessType process_type)
|
| - : url(url),
|
| - file_info(file_info),
|
| - process_type(process_type) {
|
| - }
|
| - std::string url;
|
| - PP_NaClFileInfo file_info;
|
| - PP_NaClAppProcessType process_type;
|
| -};
|
| -
|
| -// ServiceRuntime abstracts a NativeClient sel_ldr instance.
|
| -class ServiceRuntime {
|
| - public:
|
| - ServiceRuntime(Plugin* plugin,
|
| - PP_Instance pp_instance,
|
| - bool main_service_runtime,
|
| - bool uses_nonsfi_mode);
|
| - // The destructor terminates the sel_ldr process.
|
| - ~ServiceRuntime();
|
| -
|
| - // Spawn the sel_ldr instance.
|
| - void StartSelLdr(const SelLdrStartParams& params,
|
| - pp::CompletionCallback callback);
|
| -
|
| - // If starting sel_ldr from a background thread, wait for sel_ldr to
|
| - // actually start. Returns |false| if timed out waiting for the process
|
| - // to start. Otherwise, returns |true| if StartSelLdr is complete
|
| - // (either successfully or unsuccessfully).
|
| - bool WaitForSelLdrStart();
|
| -
|
| - // Signal to waiting threads that StartSelLdr is complete (either
|
| - // successfully or unsuccessfully).
|
| - void SignalStartSelLdrDone();
|
| -
|
| - // If starting the nexe from a background thread, wait for the nexe to
|
| - // actually start. Returns |true| is the nexe started successfully.
|
| - bool WaitForNexeStart();
|
| -
|
| - // Returns |true| if WaitForSelLdrStart() timed out.
|
| - bool SelLdrWaitTimedOut();
|
| -
|
| - // Signal to waiting threads that LoadNexeAndStart is complete (either
|
| - // successfully or unsuccessfully).
|
| - void SignalNexeStarted(bool ok);
|
| -
|
| - // Establish an SrpcClient to the sel_ldr instance and start the nexe.
|
| - // This function must be called on the main thread.
|
| - // This function must only be called once.
|
| - void StartNexe();
|
| -
|
| - // Starts the application channel to the nexe.
|
| - SrpcClient* SetupAppChannel();
|
| -
|
| - bool RemoteLog(int severity, const std::string& msg);
|
| - Plugin* plugin() const { return plugin_; }
|
| - void Shutdown();
|
| -
|
| - bool main_service_runtime() const { return main_service_runtime_; }
|
| -
|
| - private:
|
| - NACL_DISALLOW_COPY_AND_ASSIGN(ServiceRuntime);
|
| - bool StartNexeInternal();
|
| -
|
| - bool SetupCommandChannel();
|
| - bool StartModule();
|
| - void ReapLogs();
|
| -
|
| - void ReportLoadError(const ErrorInfo& error_info);
|
| -
|
| - NaClSrpcChannel command_channel_;
|
| - Plugin* plugin_;
|
| - PP_Instance pp_instance_;
|
| - bool main_service_runtime_;
|
| - bool uses_nonsfi_mode_;
|
| - nacl::scoped_ptr<SelLdrLauncherChrome> subprocess_;
|
| -
|
| - // Mutex and CondVar to protect start_sel_ldr_done_ and nexe_started_.
|
| - NaClMutex mu_;
|
| - NaClCondVar cond_;
|
| - bool start_sel_ldr_done_;
|
| - bool sel_ldr_wait_timed_out_;
|
| - bool start_nexe_done_;
|
| - bool nexe_started_ok_;
|
| -
|
| - NaClHandle bootstrap_channel_;
|
| -};
|
| -
|
| -} // namespace plugin
|
| -
|
| -#endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_SERVICE_RUNTIME_H_
|
|
|