#ifndef LLDB_TOOLS_LLDB_DAP_BREAKPOINTBASE_H
#define LLDB_TOOLS_LLDB_DAP_BREAKPOINTBASE_H
#include "lldb/API/SBBreakpoint.h"
#include "llvm/Support/JSON.h"
#include <string>
#include <vector>
namespace lldb_dap {
struct BreakpointBase {
std::string condition;
std::string hitCondition;
BreakpointBase() = default;
BreakpointBase(const llvm::json::Object &obj);
virtual ~BreakpointBase() = default;
virtual void SetCondition() = 0;
virtual void SetHitCondition() = 0;
virtual void CreateJsonObject(llvm::json::Object &object) = 0;
void UpdateBreakpoint(const BreakpointBase &request_bp);
static const char *GetBreakpointLabel();
};
}
#endif