1 //===-- MICmdCmdSupportInfo.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: CMICmdCmdSupportInfoMiCmdQuery 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 29 //++ 30 //============================================================================ 31 // Details: MI command class. MI commands derived from the command base class. 32 // *this class implements MI command "info-gdb-mi-command". 33 // This command does not follow the MI documentation exactly. 34 //-- 35 class CMICmdCmdSupportInfoMiCmdQuery : public CMICmdBase { 36 // Statics: 37 public: 38 // Required by the CMICmdFactory when registering *this command 39 static CMICmdBase *CreateSelf(); 40 41 // Methods: 42 public: 43 /* ctor */ CMICmdCmdSupportInfoMiCmdQuery(); 44 45 // Overridden: 46 public: 47 // From CMICmdInvoker::ICmd 48 bool Execute() override; 49 bool Acknowledge() override; 50 bool ParseArgs() override; 51 // From CMICmnBase 52 /* dtor */ ~CMICmdCmdSupportInfoMiCmdQuery() override; 53 54 // Attributes: 55 private: 56 bool m_bCmdFound; // True = query for the command in command factory found, 57 // false = not found not recognised 58 const CMIUtilString m_constStrArgCmdName; 59 }; 60