1262182Semaste//===-- CommandObjectGUI.cpp ------------------------------------*- C++ -*-===// 2262182Semaste// 3262182Semaste// The LLVM Compiler Infrastructure 4262182Semaste// 5262182Semaste// This file is distributed under the University of Illinois Open Source 6262182Semaste// License. See LICENSE.TXT for details. 7262182Semaste// 8262182Semaste//===----------------------------------------------------------------------===// 9262182Semaste 10262182Semaste#include "lldb/lldb-python.h" 11262182Semaste 12262182Semaste#include "CommandObjectGUI.h" 13262182Semaste 14262182Semaste// C Includes 15262182Semaste// C++ Includes 16262182Semaste// Other libraries and framework includes 17262182Semaste// Project includes 18262182Semaste#include "lldb/lldb-private.h" 19262182Semaste#include "lldb/Interpreter/CommandInterpreter.h" 20262182Semaste#include "lldb/Interpreter/CommandReturnObject.h" 21262182Semaste 22262182Semasteusing namespace lldb; 23262182Semasteusing namespace lldb_private; 24262182Semaste 25262182Semaste//------------------------------------------------------------------------- 26262182Semaste// CommandObjectGUI 27262182Semaste//------------------------------------------------------------------------- 28262182Semaste 29262182SemasteCommandObjectGUI::CommandObjectGUI (CommandInterpreter &interpreter) : 30262182Semaste CommandObjectParsed (interpreter, "gui", "Switch into the curses based GUI mode.", "gui") 31262182Semaste{ 32262182Semaste} 33262182Semaste 34262182SemasteCommandObjectGUI::~CommandObjectGUI () 35262182Semaste{ 36262182Semaste} 37262182Semaste 38262182Semastebool 39262182SemasteCommandObjectGUI::DoExecute (Args& args, CommandReturnObject &result) 40262182Semaste{ 41262182Semaste#ifndef LLDB_DISABLE_CURSES 42262182Semaste if (args.GetArgumentCount() == 0) 43262182Semaste { 44262182Semaste Debugger &debugger = m_interpreter.GetDebugger(); 45262182Semaste IOHandlerSP io_handler_sp (new IOHandlerCursesGUI (debugger)); 46262182Semaste if (io_handler_sp) 47262182Semaste debugger.PushIOHandler(io_handler_sp); 48262182Semaste result.SetStatus (eReturnStatusSuccessFinishResult); 49262182Semaste } 50262182Semaste else 51262182Semaste { 52262182Semaste result.AppendError("the gui command takes no arguments."); 53262182Semaste result.SetStatus (eReturnStatusFailed); 54262182Semaste } 55262182Semaste return true; 56262182Semaste#else 57262182Semaste result.AppendError("lldb was not build with gui support"); 58262182Semaste return false; 59262182Semaste#endif 60262182Semaste} 61262182Semaste 62