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

Side by Side Diff: remoting/protocol/connection_to_host.h

Issue 7218061: Close all writers before JingleSession is destroyed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years, 5 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 REMOTING_PROTOCOL_CONNECTION_TO_HOST_H_ 5 #ifndef REMOTING_PROTOCOL_CONNECTION_TO_HOST_H_
6 #define REMOTING_PROTOCOL_CONNECTION_TO_HOST_H_ 6 #define REMOTING_PROTOCOL_CONNECTION_TO_HOST_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/task.h" 12 #include "base/task.h"
13 #include "remoting/jingle_glue/signal_strategy.h" 13 #include "remoting/jingle_glue/signal_strategy.h"
14 #include "remoting/proto/internal.pb.h" 14 #include "remoting/proto/internal.pb.h"
15 #include "remoting/protocol/connection_to_host.h" 15 #include "remoting/protocol/connection_to_host.h"
16 #include "remoting/protocol/host_stub.h"
17 #include "remoting/protocol/input_stub.h"
18 #include "remoting/protocol/message_reader.h" 16 #include "remoting/protocol/message_reader.h"
19 #include "remoting/protocol/session.h" 17 #include "remoting/protocol/session.h"
20 #include "remoting/protocol/session_manager.h" 18 #include "remoting/protocol/session_manager.h"
21 19
22 class MessageLoop; 20 class MessageLoop;
23 21
24 namespace talk_base { 22 namespace talk_base {
25 class NetworkManager; 23 class NetworkManager;
26 class PacketSocketFactory; 24 class PacketSocketFactory;
27 } // namespace talk_base 25 } // namespace talk_base
28 26
29 namespace remoting { 27 namespace remoting {
30 28
31 class JingleThread; 29 class JingleThread;
32 class PortAllocatorSessionFactory; 30 class PortAllocatorSessionFactory;
33 class XmppProxy; 31 class XmppProxy;
34 class VideoPacket; 32 class VideoPacket;
35 33
36 namespace protocol { 34 namespace protocol {
37 35
38 class ClientMessageDispatcher; 36 class ClientMessageDispatcher;
37 class ClientControlSender;
39 class ClientStub; 38 class ClientStub;
39 class HostControlSender;
40 class HostStub;
41 class InputSender;
42 class InputStub;
40 class SessionConfig; 43 class SessionConfig;
41 class VideoReader; 44 class VideoReader;
42 class VideoStub; 45 class VideoStub;
43 46
44 class ConnectionToHost : public SignalStrategy::StatusObserver { 47 class ConnectionToHost : public SignalStrategy::StatusObserver {
45 public: 48 public:
46 enum State { 49 enum State {
47 STATE_EMPTY, 50 STATE_EMPTY,
48 STATE_CONNECTED, 51 STATE_CONNECTED,
49 STATE_AUTHENTICATED, 52 STATE_AUTHENTICATED,
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 std::string host_jid_; 148 std::string host_jid_;
146 std::string host_public_key_; 149 std::string host_public_key_;
147 std::string access_code_; 150 std::string access_code_;
148 151
149 scoped_ptr<ClientMessageDispatcher> dispatcher_; 152 scoped_ptr<ClientMessageDispatcher> dispatcher_;
150 153
151 //////////////////////////////////////////////////////////////////////////// 154 ////////////////////////////////////////////////////////////////////////////
152 // User input event channel interface 155 // User input event channel interface
153 156
154 // Stub for sending input event messages to the host. 157 // Stub for sending input event messages to the host.
155 scoped_ptr<InputStub> input_stub_; 158 scoped_ptr<InputSender> input_sender_;
156 159
157 //////////////////////////////////////////////////////////////////////////// 160 ////////////////////////////////////////////////////////////////////////////
158 // Protocol control channel interface 161 // Protocol control channel interface
159 162
160 // Stub for sending control messages to the host. 163 // Stub for sending control messages to the host.
161 scoped_ptr<HostStub> host_stub_; 164 scoped_ptr<HostControlSender> host_control_sender_;
162 165
163 // Stub for receiving control messages from the host. 166 // Stub for receiving control messages from the host.
164 ClientStub* client_stub_; 167 ClientStub* client_stub_;
165 168
166 //////////////////////////////////////////////////////////////////////////// 169 ////////////////////////////////////////////////////////////////////////////
167 // Video channel interface 170 // Video channel interface
168 171
169 // Stub for receiving video packets from the host. 172 // Stub for receiving video packets from the host.
170 VideoStub* video_stub_; 173 VideoStub* video_stub_;
171 174
172 private: 175 private:
173 DISALLOW_COPY_AND_ASSIGN(ConnectionToHost); 176 DISALLOW_COPY_AND_ASSIGN(ConnectionToHost);
174 }; 177 };
175 178
176 } // namespace protocol 179 } // namespace protocol
177 } // namespace remoting 180 } // namespace remoting
178 181
179 DISABLE_RUNNABLE_METHOD_REFCOUNT(remoting::protocol::ConnectionToHost); 182 DISABLE_RUNNABLE_METHOD_REFCOUNT(remoting::protocol::ConnectionToHost);
180 183
181 #endif // REMOTING_PROTOCOL_CONNECTION_TO_HOST_H_ 184 #endif // REMOTING_PROTOCOL_CONNECTION_TO_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698