chromium/chrome/test/chromedriver/net/pipe_builder.cc

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

#ifdef UNSAFE_BUFFERS_BUILD
// TODO(crbug.com/40285824): Remove this and convert code to safer constructs.
#pragma allow_unsafe_buffers
#endif

#include "chrome/test/chromedriver/net/pipe_builder.h"

#include <cstdlib>
#include <memory>
#include <string>
#include <utility>

#include "base/command_line.h"
#include "base/files/file_util.h"
#include "base/files/platform_file.h"
#include "base/strings/string_number_conversions.h"
#include "build/build_config.h"
#include "chrome/test/chromedriver/chrome/status.h"
#include "chrome/test/chromedriver/net/pipe_connection.h"
#include "chrome/test/chromedriver/net/sync_websocket.h"

#if BUILDFLAG(IS_WIN)
#include <windows.h>

#include "base/win/win_util.h"
#endif

namespace {
#if BUILDFLAG(IS_POSIX)
// The values for kReadFD and kWriteFD come from
// content/browser/devtools/devtools_pipe_handler.cc
constexpr int kReadFD =;
constexpr int kWriteFD =;
#endif
}  // namespace

const char PipeBuilder::kAsciizProtocolMode[] =;
const char PipeBuilder::kCborProtocolMode[] =;

bool PipeBuilder::PlatformIsSupported() {}

PipeBuilder::PipeBuilder() = default;

PipeBuilder::~PipeBuilder() = default;

std::unique_ptr<SyncWebSocket> PipeBuilder::TakeSocket() {}

void PipeBuilder::SetProtocolMode(std::string mode) {}

Status PipeBuilder::BuildSocket() {}

Status PipeBuilder::CloseChildEndpoints() {}

Status PipeBuilder::SetUpPipes(base::LaunchOptions* options,
                               base::CommandLine* command) {}