#ifdef UNSAFE_BUFFERS_BUILD
#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)
constexpr int kReadFD = …;
constexpr int kWriteFD = …;
#endif
}
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) { … }