OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "remoting/protocol/stream_reader.h" | |
6 | |
7 #include "net/base/completion_callback.h" | |
8 #include "net/base/io_buffer.h" | |
9 | |
10 namespace remoting { | |
11 | |
12 // EventStreamReader class. | |
13 EventStreamReader::EventStreamReader() { } | |
14 EventStreamReader::~EventStreamReader() { } | |
15 | |
16 void EventStreamReader::Init(net::Socket* socket, | |
17 OnMessageCallback* on_message_callback) { | |
18 on_message_callback_.reset(on_message_callback); | |
19 SocketReaderBase::Init(socket); | |
20 } | |
21 | |
22 void EventStreamReader::OnDataReceived(net::IOBuffer* buffer, int data_size) { | |
23 ClientMessageList messages_list; | |
24 messages_decoder_.ParseClientMessages(buffer, data_size, &messages_list); | |
25 for (ClientMessageList::iterator it = messages_list.begin(); | |
26 it != messages_list.end(); ++it) { | |
27 on_message_callback_->Run(*it); | |
28 } | |
29 } | |
30 | |
31 // VideoStreamReader class. | |
32 VideoStreamReader::VideoStreamReader() { } | |
33 VideoStreamReader::~VideoStreamReader() { } | |
34 | |
35 void VideoStreamReader::Init(net::Socket* socket, | |
36 OnMessageCallback* on_message_callback) { | |
37 on_message_callback_.reset(on_message_callback); | |
38 SocketReaderBase::Init(socket); | |
39 } | |
40 | |
41 void VideoStreamReader::OnDataReceived(net::IOBuffer* buffer, int data_size) { | |
42 HostMessageList messages_list; | |
43 messages_decoder_.ParseHostMessages(buffer, data_size, &messages_list); | |
44 for (HostMessageList::iterator it = messages_list.begin(); | |
45 it != messages_list.end(); ++it) { | |
46 on_message_callback_->Run(*it); | |
47 } | |
48 } | |
49 | |
50 } // namespace remoting | |
OLD | NEW |