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

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

Issue 841773005: Cleanup channel dispatchers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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
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 #ifndef REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ 5 #ifndef REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_
6 #define REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ 6 #define REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "remoting/protocol/buffered_socket_writer.h" 9 #include "remoting/protocol/buffered_socket_writer.h"
10 #include "remoting/protocol/channel_dispatcher_base.h" 10 #include "remoting/protocol/channel_dispatcher_base.h"
11 #include "remoting/protocol/clipboard_stub.h" 11 #include "remoting/protocol/clipboard_stub.h"
12 #include "remoting/protocol/cursor_shape_stub.h" 12 #include "remoting/protocol/cursor_shape_stub.h"
13 #include "remoting/protocol/host_stub.h" 13 #include "remoting/protocol/host_stub.h"
14 #include "remoting/protocol/message_reader.h" 14 #include "remoting/protocol/protobuf_message_parser.h"
15 15
16 namespace remoting { 16 namespace remoting {
17 namespace protocol { 17 namespace protocol {
18 18
19 class ClientStub; 19 class ClientStub;
20 class ControlMessage; 20 class ControlMessage;
21 class Session; 21 class Session;
22 22
23 // ClientControlDispatcher dispatches incoming messages on the control 23 // ClientControlDispatcher dispatches incoming messages on the control
24 // channel to ClientStub, ClipboardStub or CursorShapeStub. 24 // channel to ClientStub, ClipboardStub or CursorShapeStub.
(...skipping 19 matching lines...) Expand all
44 // Sets the ClientStub that will be called for each incoming control 44 // Sets the ClientStub that will be called for each incoming control
45 // message. |client_stub| must outlive this object. 45 // message. |client_stub| must outlive this object.
46 void set_client_stub(ClientStub* client_stub) { client_stub_ = client_stub; } 46 void set_client_stub(ClientStub* client_stub) { client_stub_ = client_stub; }
47 47
48 // Sets the ClipboardStub that will be called for each incoming clipboard 48 // Sets the ClipboardStub that will be called for each incoming clipboard
49 // message. |clipboard_stub| must outlive this object. 49 // message. |clipboard_stub| must outlive this object.
50 void set_clipboard_stub(ClipboardStub* clipboard_stub) { 50 void set_clipboard_stub(ClipboardStub* clipboard_stub) {
51 clipboard_stub_ = clipboard_stub; 51 clipboard_stub_ = clipboard_stub;
52 } 52 }
53 53
54 protected:
55 // ChannelDispatcherBase overrides.
56 void OnInitialized() override;
57
58 private: 54 private:
59 void OnMessageReceived(scoped_ptr<ControlMessage> message, 55 void OnMessageReceived(scoped_ptr<ControlMessage> message,
60 const base::Closure& done_task); 56 const base::Closure& done_task);
61 57
62 ClientStub* client_stub_; 58 ClientStub* client_stub_;
63 ClipboardStub* clipboard_stub_; 59 ClipboardStub* clipboard_stub_;
64 60
65 ProtobufMessageReader<ControlMessage> reader_; 61 ProtobufMessageParser<ControlMessage> parser_;
66 BufferedSocketWriter writer_;
67 62
68 DISALLOW_COPY_AND_ASSIGN(ClientControlDispatcher); 63 DISALLOW_COPY_AND_ASSIGN(ClientControlDispatcher);
69 }; 64 };
70 65
71 } // namespace protocol 66 } // namespace protocol
72 } // namespace remoting 67 } // namespace remoting
73 68
74 #endif // REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_ 69 #endif // REMOTING_PROTOCOL_CLIENT_CONTROL_DISPATCHER_H_
OLDNEW
« no previous file with comments | « remoting/protocol/channel_multiplexer.cc ('k') | remoting/protocol/client_control_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698