summaryrefslogtreecommitdiff
path: root/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h')
-rw-r--r--source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h53
1 files changed, 24 insertions, 29 deletions
diff --git a/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h b/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
index a9993c4068a2b..929567e579d8b 100644
--- a/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
+++ b/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
@@ -78,6 +78,8 @@ public:
StructuredData::ObjectSP
CreateScriptedThreadPlan(const char *class_name,
+ StructuredDataImpl *args_data,
+ std::string &error_str,
lldb::ThreadPlanSP thread_plan) override;
bool ScriptedThreadPlanExplainsStop(StructuredData::ObjectSP implementor_sp,
@@ -188,8 +190,6 @@ public:
const TypeSummaryOptions &options,
std::string &retval) override;
- void Clear() override;
-
bool GetDocumentationForItem(const char *item, std::string &dest) override;
bool GetShortHelpForCommandObject(StructuredData::GenericSP cmd_obj_sp,
@@ -256,8 +256,6 @@ public:
void SetWatchpointCommandCallback(WatchpointOptions *wp_options,
const char *oneliner) override;
- void ResetOutputFileHandle(FILE *new_fh) override;
-
const char *GetDictionaryName() { return m_dictionary_name.c_str(); }
PyThreadState *GetThreadState() { return m_command_thread_state; }
@@ -296,17 +294,19 @@ public:
TearDownSession = 0x0004
};
- Locker(ScriptInterpreterPythonImpl *py_interpreter = nullptr,
+ Locker(ScriptInterpreterPythonImpl *py_interpreter,
uint16_t on_entry = AcquireLock | InitSession,
- uint16_t on_leave = FreeLock | TearDownSession, FILE *in = nullptr,
- FILE *out = nullptr, FILE *err = nullptr);
+ uint16_t on_leave = FreeLock | TearDownSession,
+ lldb::FileSP in = nullptr, lldb::FileSP out = nullptr,
+ lldb::FileSP err = nullptr);
~Locker() override;
private:
bool DoAcquireLock();
- bool DoInitSession(uint16_t on_entry_flags, FILE *in, FILE *out, FILE *err);
+ bool DoInitSession(uint16_t on_entry_flags, lldb::FileSP in,
+ lldb::FileSP out, lldb::FileSP err);
bool DoFreeLock();
@@ -314,7 +314,6 @@ public:
bool m_teardown_session;
ScriptInterpreterPythonImpl *m_python_interpreter;
- // FILE* m_tmp_fh;
PyGILState_STATE m_GILState;
};
@@ -343,14 +342,11 @@ public:
static void AddToSysPath(AddLocation location, std::string path);
- bool EnterSession(uint16_t on_entry_flags, FILE *in, FILE *out, FILE *err);
+ bool EnterSession(uint16_t on_entry_flags, lldb::FileSP in, lldb::FileSP out,
+ lldb::FileSP err);
void LeaveSession();
- void SaveTerminalState(int fd);
-
- void RestoreTerminalState();
-
uint32_t IsExecutingPython() const { return m_lock_count > 0; }
uint32_t IncrementLockCount() { return ++m_lock_count; }
@@ -367,27 +363,26 @@ public:
eIOHandlerWatchpoint
};
- PythonObject &GetMainModule();
+ python::PythonModule &GetMainModule();
- PythonDictionary &GetSessionDictionary();
+ python::PythonDictionary &GetSessionDictionary();
- PythonDictionary &GetSysModuleDictionary();
+ python::PythonDictionary &GetSysModuleDictionary();
bool GetEmbeddedInterpreterModuleObjects();
- bool SetStdHandle(File &file, const char *py_name, PythonFile &save_file,
- const char *mode);
-
- PythonFile m_saved_stdin;
- PythonFile m_saved_stdout;
- PythonFile m_saved_stderr;
- PythonObject m_main_module;
- PythonDictionary m_session_dict;
- PythonDictionary m_sys_module_dict;
- PythonObject m_run_one_line_function;
- PythonObject m_run_one_line_str_global;
+ bool SetStdHandle(lldb::FileSP file, const char *py_name,
+ python::PythonObject &save_file, const char *mode);
+
+ python::PythonObject m_saved_stdin;
+ python::PythonObject m_saved_stdout;
+ python::PythonObject m_saved_stderr;
+ python::PythonModule m_main_module;
+ python::PythonDictionary m_session_dict;
+ python::PythonDictionary m_sys_module_dict;
+ python::PythonObject m_run_one_line_function;
+ python::PythonObject m_run_one_line_str_global;
std::string m_dictionary_name;
- TerminalState m_terminal_state;
ActiveIOHandler m_active_io_handler;
bool m_session_is_active;
bool m_pty_slave_is_open;