1*44d93782SGreg Clayton //===-- CommandObjectGUI.cpp ------------------------------------*- C++ -*-===// 2*44d93782SGreg Clayton // 3*44d93782SGreg Clayton // The LLVM Compiler Infrastructure 4*44d93782SGreg Clayton // 5*44d93782SGreg Clayton // This file is distributed under the University of Illinois Open Source 6*44d93782SGreg Clayton // License. See LICENSE.TXT for details. 7*44d93782SGreg Clayton // 8*44d93782SGreg Clayton //===----------------------------------------------------------------------===// 9*44d93782SGreg Clayton 10*44d93782SGreg Clayton #include "lldb/lldb-python.h" 11*44d93782SGreg Clayton 12*44d93782SGreg Clayton #include "CommandObjectGUI.h" 13*44d93782SGreg Clayton 14*44d93782SGreg Clayton // C Includes 15*44d93782SGreg Clayton // C++ Includes 16*44d93782SGreg Clayton // Other libraries and framework includes 17*44d93782SGreg Clayton // Project includes 18*44d93782SGreg Clayton #include "lldb/lldb-private.h" 19*44d93782SGreg Clayton #include "lldb/Interpreter/CommandInterpreter.h" 20*44d93782SGreg Clayton #include "lldb/Interpreter/CommandReturnObject.h" 21*44d93782SGreg Clayton 22*44d93782SGreg Clayton using namespace lldb; 23*44d93782SGreg Clayton using namespace lldb_private; 24*44d93782SGreg Clayton 25*44d93782SGreg Clayton //------------------------------------------------------------------------- 26*44d93782SGreg Clayton // CommandObjectGUI 27*44d93782SGreg Clayton //------------------------------------------------------------------------- 28*44d93782SGreg Clayton 29*44d93782SGreg Clayton CommandObjectGUI::CommandObjectGUI (CommandInterpreter &interpreter) : 30*44d93782SGreg Clayton CommandObjectParsed (interpreter, "gui", "Switch into the curses based GUI mode.", "gui") 31*44d93782SGreg Clayton { 32*44d93782SGreg Clayton } 33*44d93782SGreg Clayton 34*44d93782SGreg Clayton CommandObjectGUI::~CommandObjectGUI () 35*44d93782SGreg Clayton { 36*44d93782SGreg Clayton } 37*44d93782SGreg Clayton 38*44d93782SGreg Clayton bool 39*44d93782SGreg Clayton CommandObjectGUI::DoExecute (Args& args, CommandReturnObject &result) 40*44d93782SGreg Clayton { 41*44d93782SGreg Clayton if (args.GetArgumentCount() == 0) 42*44d93782SGreg Clayton { 43*44d93782SGreg Clayton Debugger &debugger = m_interpreter.GetDebugger(); 44*44d93782SGreg Clayton IOHandlerSP io_handler_sp (new IOHandlerCursesGUI (debugger)); 45*44d93782SGreg Clayton if (io_handler_sp) 46*44d93782SGreg Clayton debugger.PushIOHandler(io_handler_sp); 47*44d93782SGreg Clayton result.SetStatus (eReturnStatusSuccessFinishResult); 48*44d93782SGreg Clayton } 49*44d93782SGreg Clayton else 50*44d93782SGreg Clayton { 51*44d93782SGreg Clayton result.AppendError("the gui command takes no arguments."); 52*44d93782SGreg Clayton result.SetStatus (eReturnStatusFailed); 53*44d93782SGreg Clayton } 54*44d93782SGreg Clayton return true; 55*44d93782SGreg Clayton } 56*44d93782SGreg Clayton 57