summaryrefslogtreecommitdiffstats
path: root/platform/web
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2023-10-19 14:35:10 +0300
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2024-03-27 11:41:16 +0200
commit082b420c0ab6ddb7cc658b929124893ee2ad72b2 (patch)
treea5f1b40945aaffbcc01c2195ce18b939640c3105 /platform/web
parent7d151c83811f8ac8873439826c16d88c83aba12f (diff)
downloadredot-engine-082b420c0ab6ddb7cc658b929124893ee2ad72b2.tar.gz
Implement `OS.execute_with_pipe` method to run process with redirected stdio.
Implement `pipe://*` path handling for creation of named pipes.
Diffstat (limited to 'platform/web')
-rw-r--r--platform/web/os_web.cpp4
-rw-r--r--platform/web/os_web.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/platform/web/os_web.cpp b/platform/web/os_web.cpp
index 45671ca491..4b93ce9e75 100644
--- a/platform/web/os_web.cpp
+++ b/platform/web/os_web.cpp
@@ -105,6 +105,10 @@ Error OS_Web::execute(const String &p_path, const List<String> &p_arguments, Str
return create_process(p_path, p_arguments);
}
+Dictionary OS_Web::execute_with_pipe(const String &p_path, const List<String> &p_arguments) {
+ ERR_FAIL_V_MSG(Dictionary(), "OS::execute_with_pipe is not available on the Web platform.");
+}
+
Error OS_Web::create_process(const String &p_path, const List<String> &p_arguments, ProcessID *r_child_id, bool p_open_console) {
Array args;
for (const String &E : p_arguments) {
diff --git a/platform/web/os_web.h b/platform/web/os_web.h
index e578c93925..16f8ea8550 100644
--- a/platform/web/os_web.h
+++ b/platform/web/os_web.h
@@ -80,6 +80,7 @@ public:
bool main_loop_iterate();
Error execute(const String &p_path, const List<String> &p_arguments, String *r_pipe = nullptr, int *r_exitcode = nullptr, bool read_stderr = false, Mutex *p_pipe_mutex = nullptr, bool p_open_console = false) override;
+ Dictionary execute_with_pipe(const String &p_path, const List<String> &p_arguments) override;
Error create_process(const String &p_path, const List<String> &p_arguments, ProcessID *r_child_id = nullptr, bool p_open_console = false) override;
Error kill(const ProcessID &p_pid) override;
int get_process_id() const override;