1 //===-- CommandOptionsProcessLaunch.h ---------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_COMMANDS_COMMANDOPTIONSPROCESSLAUNCH_H
10 #define LLDB_SOURCE_COMMANDS_COMMANDOPTIONSPROCESSLAUNCH_H
12 #include "lldb/Host/ProcessLaunchInfo.h"
13 #include "lldb/Interpreter/Options.h"
15 namespace lldb_private
{
17 // CommandOptionsProcessLaunch
19 class CommandOptionsProcessLaunch
: public lldb_private::OptionGroup
{
21 CommandOptionsProcessLaunch() {
22 // Keep default values of all options in one place: OptionParsingStarting
24 OptionParsingStarting(nullptr);
27 ~CommandOptionsProcessLaunch() override
= default;
30 SetOptionValue(uint32_t option_idx
, llvm::StringRef option_arg
,
31 lldb_private::ExecutionContext
*execution_context
) override
;
33 void OptionParsingStarting(
34 lldb_private::ExecutionContext
*execution_context
) override
{
36 disable_aslr
= lldb_private::eLazyBoolCalculate
;
39 llvm::ArrayRef
<lldb_private::OptionDefinition
> GetDefinitions() override
;
41 // Instance variables to hold the values for command options.
43 lldb_private::ProcessLaunchInfo launch_info
;
44 lldb_private::LazyBool disable_aslr
;
45 }; // CommandOptionsProcessLaunch
47 } // namespace lldb_private
49 #endif // LLDB_SOURCE_COMMANDS_COMMANDOPTIONSPROCESSLAUNCH_H