text: // Copyright 2019 The Chromium Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  #include "chrome/browser/ash/authpolicy/data_pipe_utils.h"
  
  #include "base/files/file_util.h"
  #include "base/logging.h"
  
  namespace ash {
  namespace data_pipe_utils {
  
  base::ScopedFD GetDataReadPipe(const std::string& data) {
    int pipe_fds[2];
    if (!base::CreateLocalNonBlockingPipe(pipe_fds)) {
      DLOG(ERROR) << "Failed to create pipe";
      return base::ScopedFD();
    }
    base::ScopedFD pipe_read_end(pipe_fds[0]);
    base::ScopedFD pipe_write_end(pipe_fds[1]);
  
    if (!base::WriteFileDescriptor(pipe_write_end.get(), data.c_str(),
                                   data.size())) {
      DLOG(ERROR) << "Failed to write to pipe";
      return base::ScopedFD();
    }
    return pipe_read_end;
  }
  
  }  // namespace data_pipe_utils
  }  // namespace ash
  