1 //===-- 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 10 // Overview: CMICmdCmdSymbolListLines interface. 11 // 12 // 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 16 // to the command factory. The files of relevance are: 17 // MICmdCommands.cpp 18 // MICmdBase.h / .cpp 19 // MICmdCmd.h / .cpp 20 // For an introduction to adding a new command see 21 // CMICmdCmdSupportInfoMiCmdQuery 22 // command class as an example. 23 24 #pragma once 25 26 // Third party headers: 27 28 // In-house headers: 29 #include "MICmdBase.h" 30 #include "MICmnMIValueList.h" 31 32 //++ 33 //============================================================================ 34 // Details: MI command class. MI commands derived from the command base class. 35 // *this class implements MI command "symbol-list-lines". 36 //-- 37 class CMICmdCmdSymbolListLines : public CMICmdBase { 38 // Statics: 39 public: 40 // Required by the CMICmdFactory when registering *this command 41 static CMICmdBase *CreateSelf(); 42 43 // Methods: 44 public: 45 /* ctor */ CMICmdCmdSymbolListLines(); 46 47 // Overridden: 48 public: 49 // From CMICmdInvoker::ICmd 50 bool Execute() override; 51 bool Acknowledge() override; 52 bool ParseArgs() override; 53 // From CMICmnBase 54 /* dtor */ ~CMICmdCmdSymbolListLines() override; 55 56 // Attributes: 57 private: 58 CMICmnMIValueList m_resultList; 59 const CMIUtilString m_constStrArgNameFile; 60 }; 61