Home | History | Annotate | Download | only in protocol
      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