| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_PROTOBUF_MESSAGE_PARSER_H_ | 5 #ifndef REMOTING_PROTOCOL_PROTOBUF_MESSAGE_PARSER_H_ |
| 6 #define REMOTING_PROTOCOL_PROTOBUF_MESSAGE_PARSER_H_ | 6 #define REMOTING_PROTOCOL_PROTOBUF_MESSAGE_PARSER_H_ |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 private: | 41 private: |
| 42 void OnNewData(scoped_ptr<CompoundBuffer> buffer, | 42 void OnNewData(scoped_ptr<CompoundBuffer> buffer, |
| 43 const base::Closure& done_task) { | 43 const base::Closure& done_task) { |
| 44 scoped_ptr<T> message(new T()); | 44 scoped_ptr<T> message(new T()); |
| 45 CompoundBufferInputStream stream(buffer.get()); | 45 CompoundBufferInputStream stream(buffer.get()); |
| 46 bool ret = message->ParseFromZeroCopyStream(&stream); | 46 bool ret = message->ParseFromZeroCopyStream(&stream); |
| 47 if (!ret) { | 47 if (!ret) { |
| 48 LOG(WARNING) << "Received message that is not a valid protocol buffer."; | 48 LOG(WARNING) << "Received message that is not a valid protocol buffer."; |
| 49 } else { | 49 } else { |
| 50 DCHECK_EQ(stream.position(), buffer->total_bytes()); | 50 DCHECK_EQ(stream.position(), buffer->total_bytes()); |
| 51 message_received_callback_.Run(message.Pass(), done_task); | 51 message_received_callback_.Run(std::move(message), done_task); |
| 52 } | 52 } |
| 53 } | 53 } |
| 54 | 54 |
| 55 MessageReader* message_reader_; | 55 MessageReader* message_reader_; |
| 56 MessageReceivedCallback message_received_callback_; | 56 MessageReceivedCallback message_received_callback_; |
| 57 }; | 57 }; |
| 58 | 58 |
| 59 } // namespace protocol | 59 } // namespace protocol |
| 60 } // namespace remoting | 60 } // namespace remoting |
| 61 | 61 |
| 62 #endif // REMOTING_PROTOCOL_PROTOBUF_MESSAGE_PARSER_H_ | 62 #endif // REMOTING_PROTOCOL_PROTOBUF_MESSAGE_PARSER_H_ |
| OLD | NEW |