| Index: mojo/shell/launcher_main.cc
|
| diff --git a/mojo/shell/launcher_main.cc b/mojo/shell/launcher_main.cc
|
| deleted file mode 100644
|
| index 342446b4b8cf43e8fab5c83cd76578164bcc4dab..0000000000000000000000000000000000000000
|
| --- a/mojo/shell/launcher_main.cc
|
| +++ /dev/null
|
| @@ -1,122 +0,0 @@
|
| -// Copyright 2014 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.
|
| -
|
| -#include "base/at_exit.h"
|
| -#include "base/bind.h"
|
| -#include "base/bind_helpers.h"
|
| -#include "base/command_line.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/run_loop.h"
|
| -#include "mojo/edk/embedder/embedder.h"
|
| -#include "mojo/edk/embedder/simple_platform_support.h"
|
| -#include "mojo/shell/external_application_registrar_connection.h"
|
| -#include "mojo/shell/in_process_dynamic_service_runner.h"
|
| -#include "mojo/shell/init.h"
|
| -#include "url/gurl.h"
|
| -
|
| -namespace {
|
| -const char kAppPath[] = "app-path";
|
| -const char kAppURL[] = "app-url";
|
| -const char kShellPath[] = "shell-path";
|
| -}
|
| -
|
| -class Launcher {
|
| - public:
|
| - explicit Launcher(base::CommandLine* command_line)
|
| - : app_path_(command_line->GetSwitchValuePath(kAppPath)),
|
| - app_url_(command_line->GetSwitchValueASCII(kAppURL)),
|
| - loop_(base::MessageLoop::TYPE_IO),
|
| - connection_(
|
| - base::FilePath(command_line->GetSwitchValuePath(kShellPath))),
|
| - connect_result_(0) {}
|
| - ~Launcher() {}
|
| -
|
| - int Connect() {
|
| - DCHECK(!run_loop_.get());
|
| - run_loop_.reset(new base::RunLoop);
|
| - connection_.Connect(
|
| - base::Bind(&Launcher::OnConnected, base::Unretained(this)));
|
| - run_loop_->Run();
|
| - run_loop_.reset();
|
| - return connect_result_;
|
| - }
|
| -
|
| - bool Register() {
|
| - DCHECK(!run_loop_.get());
|
| - DCHECK(connect_result_ == 0);
|
| - run_loop_.reset(new base::RunLoop);
|
| - connection_.Register(
|
| - app_url_, base::Bind(&Launcher::OnRegistered, base::Unretained(this)));
|
| - run_loop_->Run();
|
| - run_loop_.reset();
|
| - return shell_handle_.is_valid();
|
| - }
|
| -
|
| - void Run() {
|
| - DCHECK(!run_loop_.get());
|
| - DCHECK(shell_handle_.is_valid());
|
| - mojo::shell::InProcessDynamicServiceRunner service_runner(nullptr);
|
| - run_loop_.reset(new base::RunLoop);
|
| - service_runner.Start(
|
| - app_path_,
|
| - shell_handle_.Pass(),
|
| - base::Bind(&Launcher::OnAppCompleted, base::Unretained(this)));
|
| - run_loop_->Run();
|
| - run_loop_.reset();
|
| - }
|
| -
|
| - private:
|
| - void OnConnected(int result) {
|
| - connect_result_ = result;
|
| - run_loop_->Quit();
|
| - }
|
| -
|
| - void OnRegistered(mojo::ShellPtr shell) {
|
| - shell_handle_ = shell.PassMessagePipe();
|
| - run_loop_->Quit();
|
| - }
|
| -
|
| - void OnAppCompleted() {
|
| - run_loop_->Quit();
|
| - }
|
| -
|
| - const base::FilePath app_path_;
|
| - const GURL app_url_;
|
| - base::MessageLoop loop_;
|
| - mojo::shell::ExternalApplicationRegistrarConnection connection_;
|
| - int connect_result_;
|
| - mojo::ScopedMessagePipeHandle shell_handle_;
|
| - scoped_ptr<base::RunLoop> run_loop_;
|
| -};
|
| -
|
| -#if defined(OS_WIN)
|
| -int main(int argc, wchar_t** argv) {
|
| -#else
|
| -int main(int argc, char** argv) {
|
| -#endif
|
| - base::AtExitManager at_exit;
|
| - mojo::embedder::Init(scoped_ptr<mojo::embedder::PlatformSupport>(
|
| - new mojo::embedder::SimplePlatformSupport()));
|
| -
|
| - base::CommandLine::Init(argc, argv);
|
| - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
| - mojo::shell::InitializeLogging();
|
| -
|
| - Launcher launcher(command_line);
|
| - int result = launcher.Connect();
|
| - if (result < 0) {
|
| - LOG(ERROR) << "Error(" << result << ") connecting on socket "
|
| - << command_line->GetSwitchValueASCII(kShellPath);
|
| - return MOJO_RESULT_INVALID_ARGUMENT;
|
| - }
|
| -
|
| - if (!launcher.Register()) {
|
| - LOG(ERROR) << "Error registering "
|
| - << command_line->GetSwitchValueASCII(kAppURL);
|
| - return MOJO_RESULT_INVALID_ARGUMENT;
|
| - }
|
| -
|
| - launcher.Run();
|
| - return MOJO_RESULT_OK;
|
| -}
|
|
|