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

Unified Diff: ipc/ipc_channel.h

Issue 10541065: Separate out IPC::Message::Sender and channel::Listener into a separate class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: gclient runhooks Created 8 years, 6 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
Index: ipc/ipc_channel.h
diff --git a/ipc/ipc_channel.h b/ipc/ipc_channel.h
index 14c375bbdee6c2e636d48362569031af37fbe3af..a605e0c1a1816cd71e93b2b40d4b0ea292bf191d 100644
--- a/ipc/ipc_channel.h
+++ b/ipc/ipc_channel.h
@@ -16,9 +16,15 @@
#include "base/process.h"
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_message.h"
+#include "ipc/ipc_message_sender.h"
+
+// TODO(brettw) remove this when the "typedef Sender" is removed below.
+#include "ipc/ipc_channel_listener.h"
namespace IPC {
+class ChannelListener;
+
//------------------------------------------------------------------------------
// See
// http://www.chromium.org/developers/design-documents/inter-process-communication
@@ -36,38 +42,16 @@ namespace IPC {
// the channel with the mode set to one of the NAMED modes. NAMED modes are
// currently used by automation and service processes.
-class IPC_EXPORT Channel : public Message::Sender {
+class IPC_EXPORT Channel : public MessageSender {
// Security tests need access to the pipe handle.
friend class ChannelTest;
public:
- // Implemented by consumers of a Channel to receive messages.
- class IPC_EXPORT Listener {
- public:
- virtual ~Listener() {}
-
- // Called when a message is received. Returns true iff the message was
- // handled.
- virtual bool OnMessageReceived(const Message& message) = 0;
-
- // Called when the channel is connected and we have received the internal
- // Hello message from the peer.
- virtual void OnChannelConnected(int32 peer_pid) {}
-
- // Called when an error is detected that causes the channel to close.
- // This method is not called when a channel is closed normally.
- virtual void OnChannelError() {}
-
-#if defined(OS_POSIX)
- // Called on the server side when a channel that listens for connections
- // denies an attempt to connect.
- virtual void OnChannelDenied() {}
-
- // Called on the server side when a channel that listens for connections
- // has an error that causes the listening channel to close.
- virtual void OnChannelListenError() {}
-#endif // OS_POSIX
- };
+ // IPC::ChannelListener used to be IPC::Channel::Listener which prevented
+ // forward declarations. To keep existing code compiling, we provide this
+ // backwards-compatible definition. New code should use IPC::ChannelListener.
+ // TODO(brettw) converto users of this and delete.
+ typedef ChannelListener Listener;
// Flags to test modes
enum ModeFlags {
@@ -133,7 +117,7 @@ class IPC_EXPORT Channel : public Message::Sender {
// received message.
//
Channel(const IPC::ChannelHandle &channel_handle, Mode mode,
- Listener* listener);
+ ChannelListener* listener);
virtual ~Channel();
@@ -152,7 +136,7 @@ class IPC_EXPORT Channel : public Message::Sender {
void Close();
// Modify the Channel's listener.
- void set_listener(Listener* listener);
+ void set_listener(ChannelListener* listener);
// Get the process ID for the connected peer.
// Returns base::kNullProcessId if the peer is not connected yet.
« no previous file with comments | « ipc/ipc.gypi ('k') | ipc/ipc_channel_listener.h » ('j') | ipc/ipc_channel_listener.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698