summaryrefslogtreecommitdiffstats
path: root/mojo/edk/system/message_pipe_endpoint.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/message_pipe_endpoint.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/message_pipe_endpoint.h')
-rw-r--r--mojo/edk/system/message_pipe_endpoint.h90
1 files changed, 0 insertions, 90 deletions
diff --git a/mojo/edk/system/message_pipe_endpoint.h b/mojo/edk/system/message_pipe_endpoint.h
deleted file mode 100644
index 0b5f12e..0000000
--- a/mojo/edk/system/message_pipe_endpoint.h
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2013 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_MESSAGE_PIPE_ENDPOINT_H_
-#define MOJO_EDK_SYSTEM_MESSAGE_PIPE_ENDPOINT_H_
-
-#include <stdint.h>
-
-#include <vector>
-
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
-#include "mojo/edk/system/dispatcher.h"
-#include "mojo/edk/system/memory.h"
-#include "mojo/edk/system/message_in_transit.h"
-#include "mojo/edk/system/system_impl_export.h"
-#include "mojo/public/c/system/message_pipe.h"
-#include "mojo/public/c/system/types.h"
-
-namespace mojo {
-namespace system {
-
-class ChannelEndpoint;
-class Awakable;
-
-// This is an interface to one of the ends of a message pipe, and is used by
-// |MessagePipe|. Its most important role is to provide a sink for messages
-// (i.e., a place where messages can be sent). It has a secondary role: When the
-// endpoint is local (i.e., in the current process), there'll be a dispatcher
-// corresponding to the endpoint. In that case, the implementation of
-// |MessagePipeEndpoint| also implements the functionality required by the
-// dispatcher, e.g., to read messages and to wait. Implementations of this class
-// are not thread-safe; instances are protected by |MesssagePipe|'s lock.
-class MOJO_SYSTEM_IMPL_EXPORT MessagePipeEndpoint {
- public:
- virtual ~MessagePipeEndpoint() {}
-
- enum Type { kTypeLocal, kTypeProxy };
- virtual Type GetType() const = 0;
-
- // All implementations must implement these.
- // Returns false if the endpoint should be closed and destroyed, else true.
- virtual bool OnPeerClose() = 0;
- // Implements |MessagePipe::EnqueueMessage()|. The major differences are that:
- // a) Dispatchers have been vetted and cloned/attached to the message.
- // b) At this point, we cannot report failure (if, e.g., a channel is torn
- // down at this point, we should silently swallow the message).
- virtual void EnqueueMessage(scoped_ptr<MessageInTransit> message) = 0;
- virtual void Close() = 0;
-
- // Implementations must override these if they represent a local endpoint,
- // i.e., one for which there's a |MessagePipeDispatcher| (and thus a handle).
- // An implementation for a proxy endpoint (for which there's no dispatcher)
- // needs not override these methods, since they should never be called.
- //
- // These methods implement the methods of the same name in |MessagePipe|,
- // though |MessagePipe|'s implementation may have to do a little more if the
- // operation involves both endpoints.
- virtual void CancelAllAwakables();
- virtual MojoResult ReadMessage(UserPointer<void> bytes,
- UserPointer<uint32_t> num_bytes,
- DispatcherVector* dispatchers,
- uint32_t* num_dispatchers,
- MojoReadMessageFlags flags);
- virtual HandleSignalsState GetHandleSignalsState() const;
- virtual MojoResult AddAwakable(Awakable* awakable,
- MojoHandleSignals signals,
- uint32_t context,
- HandleSignalsState* signals_state);
- virtual void RemoveAwakable(Awakable* awakable,
- HandleSignalsState* signals_state);
-
- // Implementations must override these if they represent a proxy endpoint. An
- // implementation for a local endpoint needs not override these methods, since
- // they should never be called.
- virtual void Attach(ChannelEndpoint* channel_endpoint);
-
- protected:
- MessagePipeEndpoint() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MessagePipeEndpoint);
-};
-
-} // namespace system
-} // namespace mojo
-
-#endif // MOJO_EDK_SYSTEM_MESSAGE_PIPE_ENDPOINT_H_