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

Side by Side Diff: ipc/ipc_sync_channel.h

Issue 360042: First patch in making destructors of refcounted objects private. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 1 month 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #ifndef IPC_IPC_SYNC_SENDER_H__ 5 #ifndef IPC_IPC_SYNC_SENDER_H__
6 #define IPC_IPC_SYNC_SENDER_H__ 6 #define IPC_IPC_SYNC_SENDER_H__
7 7
8 #include <string> 8 #include <string>
9 #include <deque> 9 #include <deque>
10 10
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 // can be deleted while it's being used in a different thread. See 54 // can be deleted while it's being used in a different thread. See
55 // ChannelProxy::Context for more information. 55 // ChannelProxy::Context for more information.
56 class SyncContext : public Context, 56 class SyncContext : public Context,
57 public base::WaitableEventWatcher::Delegate { 57 public base::WaitableEventWatcher::Delegate {
58 public: 58 public:
59 SyncContext(Channel::Listener* listener, 59 SyncContext(Channel::Listener* listener,
60 MessageFilter* filter, 60 MessageFilter* filter,
61 MessageLoop* ipc_thread, 61 MessageLoop* ipc_thread,
62 base::WaitableEvent* shutdown_event); 62 base::WaitableEvent* shutdown_event);
63 63
64 ~SyncContext();
65
66 // Adds information about an outgoing sync message to the context so that 64 // Adds information about an outgoing sync message to the context so that
67 // we know how to deserialize the reply. 65 // we know how to deserialize the reply.
68 void Push(IPC::SyncMessage* sync_msg); 66 void Push(IPC::SyncMessage* sync_msg);
69 67
70 // Cleanly remove the top deserializer (and throw it away). Returns the 68 // Cleanly remove the top deserializer (and throw it away). Returns the
71 // result of the Send call for that message. 69 // result of the Send call for that message.
72 bool Pop(); 70 bool Pop();
73 71
74 // Returns an event that's set when the send is complete, timed out or the 72 // Returns an event that's set when the send is complete, timed out or the
75 // process shut down. 73 // process shut down.
(...skipping 14 matching lines...) Expand all
90 // times out. 88 // times out.
91 void OnSendTimeout(int message_id); 89 void OnSendTimeout(int message_id);
92 90
93 base::WaitableEvent* shutdown_event() { return shutdown_event_; } 91 base::WaitableEvent* shutdown_event() { return shutdown_event_; }
94 92
95 ReceivedSyncMsgQueue* received_sync_msgs() { 93 ReceivedSyncMsgQueue* received_sync_msgs() {
96 return received_sync_msgs_; 94 return received_sync_msgs_;
97 } 95 }
98 96
99 private: 97 private:
98 ~SyncContext();
M-A Ruel 2009/11/05 20:31:28 virtual
jam 2009/11/05 21:52:37 no need, nothing derives from this class.
awong 2009/11/05 21:58:39 It's already virtual because it's inheriting from
100 // IPC::ChannelProxy methods that we override. 99 // IPC::ChannelProxy methods that we override.
101 100
102 // Called on the listener thread. 101 // Called on the listener thread.
103 virtual void Clear(); 102 virtual void Clear();
M-A Ruel 2009/11/05 20:31:28 please fix alignment while at it.
jam 2009/11/05 21:52:37 Done.
104 103
105 // Called on the IPC thread. 104 // Called on the IPC thread.
106 virtual void OnMessageReceived(const Message& msg); 105 virtual void OnMessageReceived(const Message& msg);
107 virtual void OnChannelError(); 106 virtual void OnChannelError();
108 virtual void OnChannelOpened(); 107 virtual void OnChannelOpened();
109 virtual void OnChannelClosed(); 108 virtual void OnChannelClosed();
110 109
111 // Cancels all pending Send calls. 110 // Cancels all pending Send calls.
112 void CancelPendingSends(); 111 void CancelPendingSends();
113 112
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 155
157 // Used to signal events between the IPC and listener threads. 156 // Used to signal events between the IPC and listener threads.
158 base::WaitableEventWatcher dispatch_watcher_; 157 base::WaitableEventWatcher dispatch_watcher_;
159 158
160 DISALLOW_EVIL_CONSTRUCTORS(SyncChannel); 159 DISALLOW_EVIL_CONSTRUCTORS(SyncChannel);
161 }; 160 };
162 161
163 } // namespace IPC 162 } // namespace IPC
164 163
165 #endif // IPC_IPC_SYNC_SENDER_H__ 164 #endif // IPC_IPC_SYNC_SENDER_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698