Chromium Code Reviews| Index: ipc/ipc_channel_proxy.h |
| =================================================================== |
| --- ipc/ipc_channel_proxy.h (revision 30973) |
| +++ ipc/ipc_channel_proxy.h (working copy) |
| @@ -47,10 +47,7 @@ |
| class ChannelProxy : public Message::Sender { |
| public: |
| - class MessageFilter; |
| - struct MessageFilterTraits { |
| - static void Destruct(MessageFilter* filter); |
| - }; |
| + struct MessageFilterTraits; |
| // A class that receives messages on the thread where the IPC channel is |
| // running. It can choose to prevent the default action for an IPC message. |
| @@ -95,6 +92,12 @@ |
| } |
| }; |
| + struct MessageFilterTraits { |
| + static void Destruct(MessageFilter* filter) { |
| + filter->OnDestruct(); |
| + } |
| + }; |
| + |
| // Initializes a channel proxy. The channel_id and mode parameters are |
| // passed directly to the underlying IPC::Channel. The listener is called on |
| // the thread that creates the ChannelProxy. The filter's OnMessageReceived |
| @@ -158,7 +161,6 @@ |
| public: |
| Context(Channel::Listener* listener, MessageFilter* filter, |
| MessageLoop* ipc_thread); |
| - virtual ~Context() { } |
| void ClearIPCMessageLoop() { ipc_message_loop_ = NULL; } |
| MessageLoop* ipc_message_loop() const { return ipc_message_loop_; } |
| const std::string& channel_id() const { return channel_id_; } |
| @@ -167,6 +169,9 @@ |
| void OnDispatchMessage(const Message& message); |
| protected: |
| + friend class base::RefCountedThreadSafe<Context>; |
|
M-A Ruel
2009/11/05 20:31:28
protected?
jam
2009/11/05 21:52:37
yeah, because SyncContext derives from it.
|
| + virtual ~Context() { } |
| + |
| // IPC::Channel::Listener methods: |
| virtual void OnMessageReceived(const Message& message); |
| virtual void OnChannelConnected(int32 peer_pid); |
| @@ -191,6 +196,7 @@ |
| private: |
| friend class ChannelProxy; |
| friend class SendTask; |
| + |
| // Create the Channel |
| void CreateChannel(const std::string& id, const Channel::Mode& mode); |