blob: 56685df07d94f79a533a77f6a7562fbc43803556 [file] [log] [blame]
Ilia Kc12d88d2015-02-20 13:07:41 +00001//===-- MICmdCmdSymbol.h ----------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Ilia Kc12d88d2015-02-20 13:07:41 +000010// Overview: CMICmdCmdSymbolListLines interface.
11//
Kate Stoneb9c1b512016-09-06 20:57:50 +000012// To implement new MI commands derive a new command class from the
13// command base
14// class. To enable the new command for interpretation add the new
15// command class
Ilia Kc12d88d2015-02-20 13:07:41 +000016// to the command factory. The files of relevance are:
17// MICmdCommands.cpp
18// MICmdBase.h / .cpp
19// MICmdCmd.h / .cpp
Kate Stoneb9c1b512016-09-06 20:57:50 +000020// For an introduction to adding a new command see
21// CMICmdCmdSupportInfoMiCmdQuery
Ilia Kc12d88d2015-02-20 13:07:41 +000022// command class as an example.
Ilia Kc12d88d2015-02-20 13:07:41 +000023
24#pragma once
25
26// Third party headers:
Greg Claytonee1b3912015-02-21 00:39:13 +000027#include "lldb/API/SBCommandReturnObject.h"
Ilia Kc12d88d2015-02-20 13:07:41 +000028
29// In-house headers:
30#include "MICmdBase.h"
31
Kate Stoneb9c1b512016-09-06 20:57:50 +000032//++
33//============================================================================
Ilia Kc12d88d2015-02-20 13:07:41 +000034// Details: MI command class. MI commands derived from the command base class.
35// *this class implements MI command "symbol-list-lines".
36//--
Kate Stoneb9c1b512016-09-06 20:57:50 +000037class CMICmdCmdSymbolListLines : public CMICmdBase {
38 // Statics:
39public:
40 // Required by the CMICmdFactory when registering *this command
41 static CMICmdBase *CreateSelf();
Ilia Kc12d88d2015-02-20 13:07:41 +000042
Kate Stoneb9c1b512016-09-06 20:57:50 +000043 // Methods:
44public:
45 /* ctor */ CMICmdCmdSymbolListLines();
Ilia Kc12d88d2015-02-20 13:07:41 +000046
Kate Stoneb9c1b512016-09-06 20:57:50 +000047 // Overridden:
48public:
49 // From CMICmdInvoker::ICmd
50 bool Execute() override;
51 bool Acknowledge() override;
52 bool ParseArgs() override;
53 // From CMICmnBase
54 /* dtor */ ~CMICmdCmdSymbolListLines() override;
Ilia Kc12d88d2015-02-20 13:07:41 +000055
Kate Stoneb9c1b512016-09-06 20:57:50 +000056 // Attributes:
57private:
58 lldb::SBCommandReturnObject m_lldbResult;
59 const CMIUtilString m_constStrArgNameFile;
Ilia Kc12d88d2015-02-20 13:07:41 +000060};