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 19namespace remoting { 20namespace 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. 26scoped_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