// Copyright 2017 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef LIBBRILLO_BRILLO_PROTO_FILE_IO_H_
#define LIBBRILLO_BRILLO_PROTO_FILE_IO_H_

#include <base/files/file_path.h>
#include <brillo/brillo_export.h>
#include <google/protobuf/message.h>

namespace brillo {

// Simple utilities for serializing and deserializing protobufs in
// text format. For an example of the format, see the docs at
// https://developers.google.com/protocol-buffers/docs/overview#whynotxml

BRILLO_EXPORT bool ReadTextProtobuf(const base::FilePath& proto_file,
                                    google::protobuf::Message* out_proto);

BRILLO_EXPORT bool ReadTextProtobuf(int fd,
                                    google::protobuf::Message* out_proto);

BRILLO_EXPORT bool WriteTextProtobuf(int fd,
                                     const google::protobuf::Message& proto);

}  // namespace brillo

#endif  // LIBBRILLO_BRILLO_PROTO_FILE_IO_H_
