Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 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 | //++ |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 11 | // File: MICmdCmdFile.h |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 12 | // |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 13 | // Overview: CMICmdCmdFileExecAndSymbols interface. |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 14 | // |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 15 | // To implement new MI commands derive a new command class from the command base |
| 16 | // class. To enable the new command for interpretation add the new command class |
| 17 | // to the command factory. The files of relevance are: |
| 18 | // MICmdCommands.cpp |
| 19 | // MICmdBase.h / .cpp |
| 20 | // MICmdCmd.h / .cpp |
| 21 | // For an introduction to adding a new command see CMICmdCmdSupportInfoMiCmdQuery |
| 22 | // command class as an example. |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 23 | // |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 24 | // Environment: Compilers: Visual C++ 12. |
| 25 | // gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 |
| 26 | // Libraries: See MIReadmetxt. |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 27 | // |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 28 | // Copyright: None. |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 29 | //-- |
| 30 | |
| 31 | #pragma once |
| 32 | |
| 33 | // In-house headers: |
| 34 | #include "MICmdBase.h" |
| 35 | #include "MICmnMIValueTuple.h" |
| 36 | #include "MICmnMIValueList.h" |
| 37 | |
| 38 | //++ ============================================================================ |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 39 | // Details: MI command class. MI commands derived from the command base class. |
| 40 | // *this class implements MI command "file-exec-and-symbols". |
| 41 | // This command does not follow the MI documentation exactly. |
Hafiz Abid Qadeer | 5f86f21 | 2015-03-12 18:35:54 +0000 | [diff] [blame^] | 42 | // Gotchas: This command has additonal flags that were not available in GDB MI. |
| 43 | // See MIextensions.txt for details. |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 44 | // Authors: Illya Rudkin 25/02/2014. |
| 45 | // Changes: None. |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 46 | //-- |
| 47 | class CMICmdCmdFileExecAndSymbols : public CMICmdBase |
| 48 | { |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 49 | // Statics: |
| 50 | public: |
| 51 | // Required by the CMICmdFactory when registering *this command |
| 52 | static CMICmdBase *CreateSelf(void); |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 53 | |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 54 | // Methods: |
| 55 | public: |
| 56 | /* ctor */ CMICmdCmdFileExecAndSymbols(void); |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 57 | |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 58 | // Overridden: |
| 59 | public: |
| 60 | // From CMICmdInvoker::ICmd |
| 61 | virtual bool Execute(void); |
| 62 | virtual bool Acknowledge(void); |
| 63 | virtual bool ParseArgs(void); |
| 64 | // From CMICmnBase |
| 65 | /* dtor */ virtual ~CMICmdCmdFileExecAndSymbols(void); |
| 66 | virtual bool GetExitAppOnCommandFailure(void) const; |
Deepak Panickal | 6f9c468 | 2014-05-16 10:51:01 +0000 | [diff] [blame] | 67 | |
Zachary Turner | 1d6af02 | 2014-11-17 18:06:21 +0000 | [diff] [blame] | 68 | // Attributes: |
| 69 | private: |
| 70 | const CMIUtilString m_constStrArgNameFile; |
| 71 | const CMIUtilString |
| 72 | m_constStrArgThreadGrp; // Not handled by *this command. Not specified in MI spec but Eclipse gives this option sometimes |
Hafiz Abid Qadeer | 5f86f21 | 2015-03-12 18:35:54 +0000 | [diff] [blame^] | 73 | const CMIUtilString m_constStrArgNamedPlatformName; // Added to support iOS platform selection |
| 74 | const CMIUtilString m_constStrArgNamedRemotePath; // Added to support iOS device remote file location |
Deepak Panickal | 877569c | 2014-06-24 16:35:50 +0000 | [diff] [blame] | 75 | }; |