1be691f3bSpatrick //===-- CommandOptionsProcessLaunch.h ---------------------------*- C++ -*-===// 2be691f3bSpatrick // 3be691f3bSpatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4be691f3bSpatrick // See https://llvm.org/LICENSE.txt for license information. 5be691f3bSpatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6be691f3bSpatrick // 7be691f3bSpatrick //===----------------------------------------------------------------------===// 8be691f3bSpatrick 9be691f3bSpatrick #ifndef LLDB_SOURCE_COMMANDS_COMMANDOPTIONSPROCESSLAUNCH_H 10be691f3bSpatrick #define LLDB_SOURCE_COMMANDS_COMMANDOPTIONSPROCESSLAUNCH_H 11be691f3bSpatrick 12be691f3bSpatrick #include "lldb/Host/ProcessLaunchInfo.h" 13be691f3bSpatrick #include "lldb/Interpreter/Options.h" 14be691f3bSpatrick 15be691f3bSpatrick namespace lldb_private { 16be691f3bSpatrick 17be691f3bSpatrick // CommandOptionsProcessLaunch 18be691f3bSpatrick 19be691f3bSpatrick class CommandOptionsProcessLaunch : public lldb_private::OptionGroup { 20be691f3bSpatrick public: CommandOptionsProcessLaunch()21*f6aab3d8Srobert CommandOptionsProcessLaunch() { 22be691f3bSpatrick // Keep default values of all options in one place: OptionParsingStarting 23be691f3bSpatrick // () 24be691f3bSpatrick OptionParsingStarting(nullptr); 25be691f3bSpatrick } 26be691f3bSpatrick 27be691f3bSpatrick ~CommandOptionsProcessLaunch() override = default; 28be691f3bSpatrick 29be691f3bSpatrick lldb_private::Status 30be691f3bSpatrick SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg, 31be691f3bSpatrick lldb_private::ExecutionContext *execution_context) override; 32be691f3bSpatrick OptionParsingStarting(lldb_private::ExecutionContext * execution_context)33be691f3bSpatrick void OptionParsingStarting( 34be691f3bSpatrick lldb_private::ExecutionContext *execution_context) override { 35be691f3bSpatrick launch_info.Clear(); 36be691f3bSpatrick disable_aslr = lldb_private::eLazyBoolCalculate; 37be691f3bSpatrick } 38be691f3bSpatrick 39be691f3bSpatrick llvm::ArrayRef<lldb_private::OptionDefinition> GetDefinitions() override; 40be691f3bSpatrick 41be691f3bSpatrick // Instance variables to hold the values for command options. 42be691f3bSpatrick 43be691f3bSpatrick lldb_private::ProcessLaunchInfo launch_info; 44be691f3bSpatrick lldb_private::LazyBool disable_aslr; 45be691f3bSpatrick }; // CommandOptionsProcessLaunch 46be691f3bSpatrick 47be691f3bSpatrick } // namespace lldb_private 48be691f3bSpatrick 49be691f3bSpatrick #endif // LLDB_SOURCE_COMMANDS_COMMANDOPTIONSPROCESSLAUNCH_H 50