Index: ipc/ipc_channel_listener.h |
diff --git a/ipc/ipc_channel_listener.h b/ipc/ipc_channel_listener.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3bcc58379202d630f5488cc94827ab887510a20e |
--- /dev/null |
+++ b/ipc/ipc_channel_listener.h |
@@ -0,0 +1,46 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
jam
2012/06/11 01:56:29
nit: shouldn't this be ipc/channel_listener.h to m
jam
2012/06/11 03:10:00
btw ignore this outdated comment
|
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef IPC_IPC_CHANNEL_LISTENER_H_ |
+#define IPC_IPC_CHANNEL_LISTENER_H_ |
+ |
+#include "base/basictypes.h" |
+#include "build/build_config.h" |
+#include "ipc/ipc_export.h" |
+ |
+namespace IPC { |
+ |
+class Message; |
+ |
+// Implemented by consumers of a Channel to receive messages. |
+class IPC_EXPORT ChannelListener { |
+ public: |
+ virtual ~ChannelListener(); |
+ |
+ // 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 |
+}; |
+ |
+} // namespace IPC |
+ |
+#endif // IPC_IPC_CHANNEL_LISTENER_H_ |