blob: 1fff2f1e957554a0a0484f0e9d06bf372482a35d [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_DEVELOPER_DEBUG_ZXDB_CLIENT_MOCK_BREAKPOINT_H_
#define SRC_DEVELOPER_DEBUG_ZXDB_CLIENT_MOCK_BREAKPOINT_H_
#include <memory>
#include "src/developer/debug/zxdb/client/breakpoint.h"
#include "src/developer/debug/zxdb/client/breakpoint_location.h"
namespace zxdb {
class MockBreakpoint : public Breakpoint {
public:
explicit MockBreakpoint(Session* session) : Breakpoint(session) {}
void set_is_internal(bool internal) { is_internal_ = internal; }
void set_locations(std::vector<std::unique_ptr<BreakpointLocation>> locs) {
locations_ = std::move(locs);
}
// Breakpoint implementation.
BreakpointSettings GetSettings() const override { return settings_; }
using Breakpoint::SetSettings; // Pull in one-arg helper.
void SetSettings(const BreakpointSettings& settings, SetCallback cb) override;
bool IsInternal() const override { return is_internal_; }
std::vector<const BreakpointLocation*> GetLocations() const override;
std::vector<BreakpointLocation*> GetLocations() override;
debug_ipc::BreakpointStats GetStats() override { return {}; }
public:
BreakpointSettings settings_;
bool is_internal_ = false;
std::vector<std::unique_ptr<BreakpointLocation>> locations_;
};
} // namespace zxdb
#endif // SRC_DEVELOPER_DEBUG_ZXDB_CLIENT_MOCK_BREAKPOINT_H_