llvm/lldb/tools/lldb-dap/RunInTerminal.h

//===-- RunInTerminal.h ----------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLDB_TOOLS_LLDB_DAP_RUNINTERMINAL_H
#define LLDB_TOOLS_LLDB_DAP_RUNINTERMINAL_H

#include "FifoFiles.h"

#include <future>
#include <thread>

namespace lldb_dap {

enum RunInTerminalMessageKind {};

struct RunInTerminalMessage;
struct RunInTerminalMessagePid;
struct RunInTerminalMessageError;
struct RunInTerminalMessageDidAttach;

struct RunInTerminalMessage {};

RunInTerminalMessageUP;

struct RunInTerminalMessagePid : RunInTerminalMessage {};

struct RunInTerminalMessageError : RunInTerminalMessage {};

struct RunInTerminalMessageDidAttach : RunInTerminalMessage {};

class RunInTerminalLauncherCommChannel {};

class RunInTerminalDebugAdapterCommChannel {};

/// Create a fifo file used to communicate the debug adaptor with
/// the runInTerminal launcher.
llvm::Expected<std::shared_ptr<FifoFile>> CreateRunInTerminalCommFile();

} // namespace lldb_dap

#endif // LLDB_TOOLS_LLDB_DAP_RUNINTERMINAL_H