1effe5c95SGreg Clayton //===-- OptionGroupUUID.h ---------------------------------------*- C++ -*-===//
2effe5c95SGreg Clayton //
32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6effe5c95SGreg Clayton //
7effe5c95SGreg Clayton //===----------------------------------------------------------------------===//
8effe5c95SGreg Clayton 
9cdc514e4SJonas Devlieghere #ifndef LLDB_INTERPRETER_OPTIONGROUPUUID_H
10cdc514e4SJonas Devlieghere #define LLDB_INTERPRETER_OPTIONGROUPUUID_H
11effe5c95SGreg Clayton 
1267cc0636SGreg Clayton #include "lldb/Interpreter/OptionValueUUID.h"
13b9c1b51eSKate Stone #include "lldb/Interpreter/Options.h"
14effe5c95SGreg Clayton 
15effe5c95SGreg Clayton namespace lldb_private {
16bd832d51SEugene Zelenko 
17effe5c95SGreg Clayton // OptionGroupUUID
18effe5c95SGreg Clayton 
19b9c1b51eSKate Stone class OptionGroupUUID : public OptionGroup {
20effe5c95SGreg Clayton public:
21*54d03a49STatyana Krasnukha   OptionGroupUUID() = default;
22effe5c95SGreg Clayton 
23*54d03a49STatyana Krasnukha   ~OptionGroupUUID() override = default;
24effe5c95SGreg Clayton 
251f0f5b5bSZachary Turner   llvm::ArrayRef<OptionDefinition> GetDefinitions() override;
26effe5c95SGreg Clayton 
2797206d57SZachary Turner   Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
28e1cfbc79STodd Fiala                         ExecutionContext *execution_context) override;
29effe5c95SGreg Clayton 
30b9c1b51eSKate Stone   void OptionParsingStarting(ExecutionContext *execution_context) override;
31effe5c95SGreg Clayton 
GetOptionValue()32b9c1b51eSKate Stone   const OptionValueUUID &GetOptionValue() const { return m_uuid; }
33effe5c95SGreg Clayton 
34effe5c95SGreg Clayton protected:
35effe5c95SGreg Clayton   OptionValueUUID m_uuid;
36effe5c95SGreg Clayton };
37effe5c95SGreg Clayton 
38effe5c95SGreg Clayton } // namespace lldb_private
39effe5c95SGreg Clayton 
40cdc514e4SJonas Devlieghere #endif // LLDB_INTERPRETER_OPTIONGROUPUUID_H
41