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

Side by Side Diff: content/renderer/p2p/socket_dispatcher.h

Issue 245443005: Move IPC::MessageFilter and router to a separate file (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix gn build Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // P2PSocketDispatcher is a per-renderer object that dispatchers all 5 // P2PSocketDispatcher is a per-renderer object that dispatchers all
6 // P2P messages received from the browser and relays all P2P messages 6 // P2P messages received from the browser and relays all P2P messages
7 // sent to the browser. P2PSocketClient instances register themselves 7 // sent to the browser. P2PSocketClient instances register themselves
8 // with the dispatcher using RegisterClient() and UnregisterClient(). 8 // with the dispatcher using RegisterClient() and UnregisterClient().
9 // 9 //
10 // Relationship of classes. 10 // Relationship of classes.
(...skipping 12 matching lines...) Expand all
23 23
24 #include <vector> 24 #include <vector>
25 25
26 #include "base/callback_forward.h" 26 #include "base/callback_forward.h"
27 #include "base/compiler_specific.h" 27 #include "base/compiler_specific.h"
28 #include "base/id_map.h" 28 #include "base/id_map.h"
29 #include "base/observer_list_threadsafe.h" 29 #include "base/observer_list_threadsafe.h"
30 #include "base/synchronization/lock.h" 30 #include "base/synchronization/lock.h"
31 #include "content/common/content_export.h" 31 #include "content/common/content_export.h"
32 #include "content/common/p2p_socket_type.h" 32 #include "content/common/p2p_socket_type.h"
33 #include "ipc/ipc_channel_proxy.h" 33 #include "ipc/message_filter.h"
34 #include "net/base/net_util.h" 34 #include "net/base/net_util.h"
35 35
36 namespace base { 36 namespace base {
37 class MessageLoopProxy; 37 class MessageLoopProxy;
38 } // namespace base 38 } // namespace base
39 39
40 namespace net { 40 namespace net {
41 class IPEndPoint; 41 class IPEndPoint;
42 } // namespace net 42 } // namespace net
43 43
44 namespace content { 44 namespace content {
45 45
46 class NetworkListObserver; 46 class NetworkListObserver;
47 class P2PAsyncAddressResolver; 47 class P2PAsyncAddressResolver;
48 class P2PSocketClientImpl; 48 class P2PSocketClientImpl;
49 class RenderViewImpl; 49 class RenderViewImpl;
50 50
51 class CONTENT_EXPORT P2PSocketDispatcher 51 class CONTENT_EXPORT P2PSocketDispatcher : public IPC::MessageFilter {
52 : public IPC::ChannelProxy::MessageFilter {
53 public: 52 public:
54 explicit P2PSocketDispatcher(base::MessageLoopProxy* ipc_message_loop); 53 explicit P2PSocketDispatcher(base::MessageLoopProxy* ipc_message_loop);
55 54
56 // Add a new network list observer. Each observer is called 55 // Add a new network list observer. Each observer is called
57 // immidiately after it is registered and then later whenever 56 // immidiately after it is registered and then later whenever
58 // network configuration changes. Can be called on any thread. The 57 // network configuration changes. Can be called on any thread. The
59 // observer is always called on the thread it was added. 58 // observer is always called on the thread it was added.
60 void AddNetworkListObserver(NetworkListObserver* network_list_observer); 59 void AddNetworkListObserver(NetworkListObserver* network_list_observer);
61 60
62 // Removes network list observer. Must be called on the thread on 61 // Removes network list observer. Must be called on the thread on
63 // which the observer was added. 62 // which the observer was added.
64 void RemoveNetworkListObserver(NetworkListObserver* network_list_observer); 63 void RemoveNetworkListObserver(NetworkListObserver* network_list_observer);
65 64
66 protected: 65 protected:
67 virtual ~P2PSocketDispatcher(); 66 virtual ~P2PSocketDispatcher();
68 67
69 private: 68 private:
70 friend class P2PAsyncAddressResolver; 69 friend class P2PAsyncAddressResolver;
71 friend class P2PSocketClientImpl; 70 friend class P2PSocketClientImpl;
72 71
73 // Send a message asynchronously. 72 // Send a message asynchronously.
74 virtual void Send(IPC::Message* message); 73 virtual void Send(IPC::Message* message);
75 74
76 // IPC::ChannelProxy::MessageFilter override. Called on IO thread. 75 // IPC::MessageFilter override. Called on IO thread.
77 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 76 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
78 virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE; 77 virtual void OnFilterAdded(IPC::Channel* channel) OVERRIDE;
79 virtual void OnFilterRemoved() OVERRIDE; 78 virtual void OnFilterRemoved() OVERRIDE;
80 virtual void OnChannelClosing() OVERRIDE; 79 virtual void OnChannelClosing() OVERRIDE;
81 80
82 // Returns the IO message loop. 81 // Returns the IO message loop.
83 base::MessageLoopProxy* message_loop(); 82 base::MessageLoopProxy* message_loop();
84 83
85 // Called by P2PSocketClient. 84 // Called by P2PSocketClient.
86 int RegisterClient(P2PSocketClientImpl* client); 85 int RegisterClient(P2PSocketClientImpl* client);
(...skipping 28 matching lines...) Expand all
115 network_list_observers_; 114 network_list_observers_;
116 115
117 IPC::Channel* channel_; 116 IPC::Channel* channel_;
118 117
119 DISALLOW_COPY_AND_ASSIGN(P2PSocketDispatcher); 118 DISALLOW_COPY_AND_ASSIGN(P2PSocketDispatcher);
120 }; 119 };
121 120
122 } // namespace content 121 } // namespace content
123 122
124 #endif // CONTENT_RENDERER_P2P_SOCKET_DISPATCHER_H_ 123 #endif // CONTENT_RENDERER_P2P_SOCKET_DISPATCHER_H_
OLDNEW
« no previous file with comments | « content/renderer/media/video_capture_message_filter.cc ('k') | content/renderer/p2p/socket_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698