summaryrefslogtreecommitdiffstats
path: root/mojo/edk/system/channel_manager.h
diff options
context:
space:
mode:
authorblundell <blundell@chromium.org>2015-01-19 09:18:33 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-19 17:19:27 +0000
commit70fb54767b472a5edfb859e489beeeec7abdb0e4 (patch)
tree28e534ec774391a9f6571a1770e12a0d63ebf833 /mojo/edk/system/channel_manager.h
parentba5f0233fa38f949e24f6274ba891fa652eab640 (diff)
downloadchromium_src-70fb54767b472a5edfb859e489beeeec7abdb0e4.zip
chromium_src-70fb54767b472a5edfb859e489beeeec7abdb0e4.tar.gz
chromium_src-70fb54767b472a5edfb859e489beeeec7abdb0e4.tar.bz2
Move //mojo/{public, edk} underneath //third_party
This CL move //mojo/public and //mojo/edk to live in the following locations: - //third_party/mojo/src/mojo/public - //third_party/mojo/src/mojo/edk It moves the related gypfiles from //mojo to //third_party/mojo and updates them as necessary to account for the file moves. It also updates clients of the mojo SDK and EDK targets in both GYP and GN. (Note that for GN, the mojo SDK and EDK build systems are maintained in the Mojo repo and designed to be flexible wrt the location of the SDK/EDK in a client repo, so no changes are needed. This CL does not update include paths to the code being moved to limit the number of moving parts, instead relying on the include_dirs that the SDK and EDK targets supply to their direct dependents to ensure that include paths continue to resolve correctly. NOPRESUBMIT=true Review URL: https://codereview.chromium.org/814543006 Cr-Commit-Position: refs/heads/master@{#312129}
Diffstat (limited to 'mojo/edk/system/channel_manager.h')
-rw-r--r--mojo/edk/system/channel_manager.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/mojo/edk/system/channel_manager.h b/mojo/edk/system/channel_manager.h
deleted file mode 100644
index bb6371b..0000000
--- a/mojo/edk/system/channel_manager.h
+++ /dev/null
@@ -1,83 +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.
-
-#ifndef MOJO_EDK_SYSTEM_CHANNEL_MANAGER_H_
-#define MOJO_EDK_SYSTEM_CHANNEL_MANAGER_H_
-
-#include <stdint.h>
-
-#include "base/containers/hash_tables.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/synchronization/lock.h"
-#include "base/task_runner.h"
-#include "mojo/edk/system/channel.h"
-#include "mojo/edk/system/channel_info.h"
-
-namespace mojo {
-namespace system {
-
-// IDs for |Channel|s managed by a |ChannelManager|. (IDs should be thought of
-// as specific to a given |ChannelManager|.) 0 is never a valid ID.
-//
-// Note: We currently just use the pointer of the |Channel| casted to a
-// |uintptr_t|, but we reserve the right to change this.
-typedef uintptr_t ChannelId;
-
-// This class manages and "owns" |Channel|s (which typically connect to other
-// processes) for a given process. This class is thread-safe.
-class MOJO_SYSTEM_IMPL_EXPORT ChannelManager {
- public:
- ChannelManager();
- ~ChannelManager();
-
- // Adds |channel| to the set of |Channel|s managed by this |ChannelManager|;
- // |channel_thread_task_runner| should be the task runner for |channel|'s
- // creation (a.k.a. I/O) thread. |channel| should either already be
- // initialized. It should not be managed by any |ChannelManager| yet. Returns
- // the ID for the added channel.
- ChannelId AddChannel(
- scoped_refptr<Channel> channel,
- scoped_refptr<base::TaskRunner> channel_thread_task_runner);
-
- // Informs the channel manager (and thus channel) that it will be shutdown
- // soon (by calling |ShutdownChannel()|). Calling this is optional (and may in
- // fact be called multiple times) but it will suppress certain warnings (e.g.,
- // for the channel being broken) and enable others (if messages are written to
- // the channel).
- void WillShutdownChannel(ChannelId channel_id);
-
- // Shuts down the channel specified by the given ID. It is up to the caller to
- // guarantee that this is only called once per channel (that was added using
- // |AddChannel()|). If called from the chanel's creation thread (i.e.,
- // |base::MessageLoopProxy::current()| is the channel thread's |TaskRunner|),
- // this will complete synchronously.
- void ShutdownChannel(ChannelId channel_id);
-
- private:
- // Gets the ID for a given channel.
- //
- // Note: This is currently a static method and thus may be called under
- // |lock_|. If this is ever made non-static (i.e., made specific to a given
- // |ChannelManager|), those call sites may have to changed.
- static ChannelId GetChannelId(const Channel* channel) {
- return reinterpret_cast<ChannelId>(channel);
- }
-
- // Gets the |ChannelInfo| for the channel specified by the given ID. (This
- // should *not* be called under lock.)
- ChannelInfo GetChannelInfo(ChannelId channel_id);
-
- // Note: |Channel| methods should not be called under |lock_|.
- base::Lock lock_; // Protects the members below.
-
- base::hash_map<ChannelId, ChannelInfo> channel_infos_;
-
- DISALLOW_COPY_AND_ASSIGN(ChannelManager);
-};
-
-} // namespace system
-} // namespace mojo
-
-#endif // MOJO_EDK_SYSTEM_CHANNEL_MANAGER_H_