1 //===-- MICmdCmd.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 // Overview: CMICmdCmdEnablePrettyPrinting interface.
10 // CMICmdCmdSource interface.
12 // To implement new MI commands derive a new command class from the
14 // class. To enable the new command for interpretation add the new
16 // to the command factory. The files of relevance are:
20 // For an introduction to adding a new command see
21 // CMICmdCmdSupportInfoMiCmdQuery
22 // command class as an example.
25 MI commands implemented are:
31 // Third party headers:
32 #include "lldb/API/SBBreakpoint.h"
33 #include "lldb/API/SBCommandReturnObject.h"
37 #include "MICmdBase.h"
38 #include "MICmnMIValueList.h"
39 #include "MICmnMIValueTuple.h"
42 //============================================================================
43 // Details: MI command class. MI commands derived from the command base class.
44 // *this class implements MI command "enable-pretty-printing".
45 // Enables Python base pretty printing.
47 // http://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Variable-Objects.html
49 class CMICmdCmdEnablePrettyPrinting : public CMICmdBase {
52 // Required by the CMICmdFactory when registering *this command
53 static CMICmdBase *CreateSelf();
57 /* ctor */ CMICmdCmdEnablePrettyPrinting();
61 // From CMICmdInvoker::ICmd
62 bool Execute() override;
63 bool Acknowledge() override;
65 /* dtor */ ~CMICmdCmdEnablePrettyPrinting() override;
69 //============================================================================
70 // Details: MI command class. MI commands derived from the command base class.
71 // *this class implements MI command "source".
73 class CMICmdCmdSource : public CMICmdBase {
76 // Required by the CMICmdFactory when registering *this command
77 static CMICmdBase *CreateSelf();
81 /* ctor */ CMICmdCmdSource();
85 // From CMICmdInvoker::ICmd
86 bool Execute() override;
87 bool Acknowledge() override;
89 /* dtor */ ~CMICmdCmdSource() override;