1 //===-- MICmdCmdFile.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: CMICmdCmdFileExecAndSymbols 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 // In-house headers: 27 #include "MICmdBase.h" 28 #include "MICmnMIValueList.h" 29 #include "MICmnMIValueTuple.h" 30 31 //++ 32 //============================================================================ 33 // Details: MI command class. MI commands derived from the command base class. 34 // *this class implements MI command "file-exec-and-symbols". 35 // This command does not follow the MI documentation exactly. 36 // Gotchas: This command has additional flags that were not available in GDB MI. 37 // See MIextensions.txt for details. 38 //-- 39 class CMICmdCmdFileExecAndSymbols : public CMICmdBase { 40 // Statics: 41 public: 42 // Required by the CMICmdFactory when registering *this command 43 static CMICmdBase *CreateSelf(); 44 45 // Methods: 46 public: 47 /* ctor */ CMICmdCmdFileExecAndSymbols(); 48 49 // Overridden: 50 public: 51 // From CMICmdInvoker::ICmd 52 bool Execute() override; 53 bool Acknowledge() override; 54 bool ParseArgs() override; 55 // From CMICmnBase 56 /* dtor */ ~CMICmdCmdFileExecAndSymbols() override; 57 bool GetExitAppOnCommandFailure() const override; 58 59 // Attributes: 60 private: 61 const CMIUtilString m_constStrArgNameFile; 62 const CMIUtilString 63 m_constStrArgNamedPlatformName; // Added to support iOS platform selection 64 const CMIUtilString m_constStrArgNamedRemotePath; // Added to support iOS 65 // device remote file 66 // location 67 }; 68