LLDB mainline
Runtime.h
Go to the documentation of this file.
1//===-- Runtime.h -----------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_TARGET_RUNTIME_H
10#define LLDB_TARGET_RUNTIME_H
11
12#include "lldb/Target/Process.h"
13
14namespace lldb_private {
15class Runtime {
16public:
17 Runtime(Process *process) : m_process(process) {}
18 virtual ~Runtime() = default;
19 Runtime(const Runtime &) = delete;
20 const Runtime &operator=(const Runtime &) = delete;
21
24
25 /// Called when modules have been loaded in the process.
26 virtual void ModulesDidLoad(const ModuleList &module_list) = 0;
27
28protected:
30};
31} // namespace lldb_private
32
33#endif // LLDB_TARGET_RUNTIME_H
A collection class for Module objects.
Definition: ModuleList.h:103
A plug-in interface definition class for debugging a process.
Definition: Process.h:341
Target & GetTarget()
Get the target object pointer for this module.
Definition: Process.h:1285
Process * m_process
Definition: Runtime.h:29
Runtime(const Runtime &)=delete
virtual ~Runtime()=default
const Runtime & operator=(const Runtime &)=delete
Process * GetProcess()
Definition: Runtime.h:22
Target & GetTargetRef()
Definition: Runtime.h:23
virtual void ModulesDidLoad(const ModuleList &module_list)=0
Called when modules have been loaded in the process.
Runtime(Process *process)
Definition: Runtime.h:17
A class that represents a running process on the host machine.