diff options
Diffstat (limited to 'lldb/tools/driver/Driver.h')
-rw-r--r-- | lldb/tools/driver/Driver.h | 199 |
1 files changed, 88 insertions, 111 deletions
diff --git a/lldb/tools/driver/Driver.h b/lldb/tools/driver/Driver.h index 8ac5924..e6cff51 100644 --- a/lldb/tools/driver/Driver.h +++ b/lldb/tools/driver/Driver.h @@ -13,136 +13,113 @@ #include "Platform.h" #include "lldb/Utility/PseudoTerminal.h" -#include <set> #include <bitset> +#include <set> #include <string> #include <vector> -#include "lldb/API/SBDefines.h" #include "lldb/API/SBBroadcaster.h" #include "lldb/API/SBDebugger.h" +#include "lldb/API/SBDefines.h" #include "lldb/API/SBError.h" class IOChannel; -class Driver : public lldb::SBBroadcaster -{ +class Driver : public lldb::SBBroadcaster { public: - typedef enum CommandPlacement - { - eCommandPlacementBeforeFile, - eCommandPlacementAfterFile, - eCommandPlacementAfterCrash, - } CommandPlacement; - - Driver (); - - virtual - ~Driver (); - - void - MainLoop (); - - lldb::SBError - ParseArgs (int argc, const char *argv[], FILE *out_fh, bool &do_exit); - - const char * - GetFilename() const; - - const char * - GetCrashLogFilename() const; - - const char * - GetArchName() const; - - lldb::ScriptLanguage - GetScriptLanguage() const; - - void - WriteCommandsForSourcing (CommandPlacement placement, lldb::SBStream &strm); - - bool - GetDebugMode() const; - - - class OptionData - { - public: - OptionData (); - ~OptionData (); - - void - Clear(); - - void - AddInitialCommand (const char *command, CommandPlacement placement, bool is_file, lldb::SBError &error); - - //static OptionDefinition m_cmd_option_table[]; - - struct InitialCmdEntry - { - InitialCmdEntry (const char *in_contents, bool in_is_file, bool is_cwd_lldbinit_file_read, bool in_quiet = false) : - contents (in_contents), - is_file (in_is_file), - is_cwd_lldbinit_file_read (is_cwd_lldbinit_file_read), - source_quietly (in_quiet) - {} - - std::string contents; - bool is_file; - bool is_cwd_lldbinit_file_read; // if this is reading ./.lldbinit - so we may skip if not permitted - bool source_quietly; - }; - - std::vector<std::string> m_args; - lldb::ScriptLanguage m_script_lang; - std::string m_core_file; - std::string m_crash_log; - std::vector<InitialCmdEntry> m_initial_commands; - std::vector<InitialCmdEntry> m_after_file_commands; - std::vector<InitialCmdEntry> m_after_crash_commands; - bool m_debug_mode; - bool m_source_quietly; - bool m_print_version; - bool m_print_python_path; - bool m_print_help; - bool m_wait_for; - bool m_repl; - lldb::LanguageType m_repl_lang; - std::string m_repl_options; - std::string m_process_name; - lldb::pid_t m_process_pid; - bool m_use_external_editor; // FIXME: When we have set/show variables we can remove this from here. - bool m_batch; - typedef std::set<char> OptionSet; - OptionSet m_seen_options; - }; + typedef enum CommandPlacement { + eCommandPlacementBeforeFile, + eCommandPlacementAfterFile, + eCommandPlacementAfterCrash, + } CommandPlacement; + + Driver(); + + virtual ~Driver(); + + void MainLoop(); + + lldb::SBError ParseArgs(int argc, const char *argv[], FILE *out_fh, + bool &do_exit); + + const char *GetFilename() const; + const char *GetCrashLogFilename() const; - static lldb::SBError - SetOptionValue (int option_idx, - const char *option_arg, - Driver::OptionData &data); + const char *GetArchName() const; + lldb::ScriptLanguage GetScriptLanguage() const; + + void WriteCommandsForSourcing(CommandPlacement placement, + lldb::SBStream &strm); + + bool GetDebugMode() const; + + class OptionData { + public: + OptionData(); + ~OptionData(); + + void Clear(); + + void AddInitialCommand(const char *command, CommandPlacement placement, + bool is_file, lldb::SBError &error); + + // static OptionDefinition m_cmd_option_table[]; + + struct InitialCmdEntry { + InitialCmdEntry(const char *in_contents, bool in_is_file, + bool is_cwd_lldbinit_file_read, bool in_quiet = false) + : contents(in_contents), is_file(in_is_file), + is_cwd_lldbinit_file_read(is_cwd_lldbinit_file_read), + source_quietly(in_quiet) {} + + std::string contents; + bool is_file; + bool is_cwd_lldbinit_file_read; // if this is reading ./.lldbinit - so we + // may skip if not permitted + bool source_quietly; + }; - lldb::SBDebugger & - GetDebugger() - { - return m_debugger; - } - - void - ResizeWindow (unsigned short col); + std::vector<std::string> m_args; + lldb::ScriptLanguage m_script_lang; + std::string m_core_file; + std::string m_crash_log; + std::vector<InitialCmdEntry> m_initial_commands; + std::vector<InitialCmdEntry> m_after_file_commands; + std::vector<InitialCmdEntry> m_after_crash_commands; + bool m_debug_mode; + bool m_source_quietly; + bool m_print_version; + bool m_print_python_path; + bool m_print_help; + bool m_wait_for; + bool m_repl; + lldb::LanguageType m_repl_lang; + std::string m_repl_options; + std::string m_process_name; + lldb::pid_t m_process_pid; + bool m_use_external_editor; // FIXME: When we have set/show variables we can + // remove this from here. + bool m_batch; + typedef std::set<char> OptionSet; + OptionSet m_seen_options; + }; + + static lldb::SBError SetOptionValue(int option_idx, const char *option_arg, + Driver::OptionData &data); + + lldb::SBDebugger &GetDebugger() { return m_debugger; } + + void ResizeWindow(unsigned short col); private: - lldb::SBDebugger m_debugger; - OptionData m_option_data; + lldb::SBDebugger m_debugger; + OptionData m_option_data; - void - ResetOptionValues (); + void ResetOptionValues(); - void - ReadyForCommand (); + void ReadyForCommand(); }; #endif // lldb_Driver_h_ |