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

Unified Diff: mojo/system/embedder.cc

Issue 139823003: Mojo: Move system embedder API files to mojo/system/embedder. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 | « mojo/system/embedder.h ('k') | mojo/system/embedder/embedder.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/system/embedder.cc
diff --git a/mojo/system/embedder.cc b/mojo/system/embedder.cc
deleted file mode 100644
index 53788083ffe1e93d9c4950d94134421a2eac58b4..0000000000000000000000000000000000000000
--- a/mojo/system/embedder.cc
+++ /dev/null
@@ -1,91 +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 "mojo/system/embedder.h"
-
-#include "base/bind.h"
-#include "base/location.h"
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "mojo/system/channel.h"
-#include "mojo/system/core_impl.h"
-#include "mojo/system/local_message_pipe_endpoint.h"
-#include "mojo/system/message_pipe.h"
-#include "mojo/system/message_pipe_dispatcher.h"
-#include "mojo/system/proxy_message_pipe_endpoint.h"
-
-namespace mojo {
-namespace embedder {
-
-struct ChannelInfo {
- scoped_refptr<system::Channel> channel;
-};
-
-static void CreateChannelOnIOThread(
- ScopedPlatformHandle platform_handle,
- scoped_refptr<system::MessagePipe> message_pipe,
- DidCreateChannelOnIOThreadCallback callback) {
- CHECK(platform_handle.is_valid());
-
- scoped_ptr<ChannelInfo> channel_info(new ChannelInfo);
-
- // Create and initialize a |system::Channel|.
- channel_info->channel = new system::Channel();
- bool success = channel_info->channel->Init(platform_handle.Pass());
- DCHECK(success);
-
- // Attach the message pipe endpoint.
- system::MessageInTransit::EndpointId endpoint_id =
- channel_info->channel->AttachMessagePipeEndpoint(message_pipe, 1);
- DCHECK_EQ(endpoint_id, system::Channel::kBootstrapEndpointId);
- channel_info->channel->RunMessagePipeEndpoint(
- system::Channel::kBootstrapEndpointId,
- system::Channel::kBootstrapEndpointId);
-
- // Hand the channel back to the embedder.
- callback.Run(channel_info.release());
-}
-
-void Init() {
- Core::Init(new system::CoreImpl());
-}
-
-MojoHandle CreateChannel(
- ScopedPlatformHandle platform_handle,
- scoped_refptr<base::TaskRunner> io_thread_task_runner,
- DidCreateChannelOnIOThreadCallback callback) {
- DCHECK(platform_handle.is_valid());
-
- scoped_refptr<system::MessagePipe> message_pipe(
- new system::MessagePipe(scoped_ptr<system::MessagePipeEndpoint>(
- new system::LocalMessagePipeEndpoint()),
- scoped_ptr<system::MessagePipeEndpoint>(
- new system::ProxyMessagePipeEndpoint())));
- scoped_refptr<system::MessagePipeDispatcher> dispatcher(
- new system::MessagePipeDispatcher());
- dispatcher->Init(message_pipe, 0);
-
- system::CoreImpl* core_impl = static_cast<system::CoreImpl*>(Core::Get());
- DCHECK(core_impl);
- MojoHandle rv = core_impl->AddDispatcher(dispatcher);
- // TODO(vtl): Do we properly handle the failure case here?
- if (rv != MOJO_HANDLE_INVALID) {
- io_thread_task_runner->PostTask(FROM_HERE,
- base::Bind(&CreateChannelOnIOThread,
- base::Passed(&platform_handle),
- message_pipe,
- callback));
- }
- return rv;
-}
-
-void DestroyChannelOnIOThread(ChannelInfo* channel_info) {
- DCHECK(channel_info);
- DCHECK(channel_info->channel.get());
- channel_info->channel->Shutdown();
- delete channel_info;
-}
-
-} // namespace embedder
-} // namespace mojo
« no previous file with comments | « mojo/system/embedder.h ('k') | mojo/system/embedder/embedder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698