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 3 // found in the LICENSE file. 4 5 // This file defines utility methods used for encoding and decoding the protocol 6 // used in Chromoting. 7 8 #ifndef REMOTING_PROTOCOL_MESSAGE_SERIALIZATION_H_ 9 #define REMOTING_PROTOCOL_MESSAGE_SERIALIZATION_H_ 10 11 #include "net/base/io_buffer.h" 12 13 #if defined(USE_SYSTEM_PROTOBUF) 14 #include <google/protobuf/message_lite.h> 15 #else 16 #include "third_party/protobuf/src/google/protobuf/message_lite.h" 17 #endif 18 19 namespace remoting { 20 namespace protocol { 21 22 // Serialize the Protocol Buffer message and provide sufficient framing for 23 // sending it over the wire. 24 // This will provide sufficient prefix and suffix for the receiver side to 25 // decode the message. 26 scoped_refptr<net::IOBufferWithSize> SerializeAndFrameMessage( 27 const google::protobuf::MessageLite& msg); 28 29 } // namespace protocol 30 } // namespace remoting 31 32 #endif // REMOTING_PROTOCOL_MESSAGE_SERIALIZATION_H_ 33