summaryrefslogtreecommitdiffstats
path: root/core/core_bind.cpp
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2022-09-13 18:37:11 +0200
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2022-09-13 18:37:11 +0200
commit8b5bb7eeeaf666dc7bb390a16599c6674d34a8ed (patch)
treeb54125263c31ee4e72ee8bdf858c23419b6f9bc3 /core/core_bind.cpp
parentf6b36f54e50cff518b4085cf665405ad1b5f6d44 (diff)
downloadredot-engine-8b5bb7eeeaf666dc7bb390a16599c6674d34a8ed.tar.gz
[OS] Expose get_stdin_string to Scripting.
Exposed as read_string_from_stdin so it's clear it's not retrieving a property. The method is kept with the block parameter, but a note is added to the docs specifying that is not implemented on any platform (should we just remove it?).
Diffstat (limited to 'core/core_bind.cpp')
-rw-r--r--core/core_bind.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/core_bind.cpp b/core/core_bind.cpp
index 9daf58cb71..91fc4489f7 100644
--- a/core/core_bind.cpp
+++ b/core/core_bind.cpp
@@ -253,6 +253,10 @@ Error OS::shell_open(String p_uri) {
return ::OS::get_singleton()->shell_open(p_uri);
}
+String OS::read_string_from_stdin(bool p_block) {
+ return ::OS::get_singleton()->get_stdin_string(true);
+}
+
int OS::execute(const String &p_path, const Vector<String> &p_arguments, Array r_output, bool p_read_stderr, bool p_open_console) {
List<String> args;
for (int i = 0; i < p_arguments.size(); i++) {
@@ -522,6 +526,7 @@ void OS::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_system_fonts"), &OS::get_system_fonts);
ClassDB::bind_method(D_METHOD("get_system_font_path", "font_name", "bold", "italic"), &OS::get_system_font_path, DEFVAL(false), DEFVAL(false));
ClassDB::bind_method(D_METHOD("get_executable_path"), &OS::get_executable_path);
+ ClassDB::bind_method(D_METHOD("read_string_from_stdin", "block"), &OS::read_string_from_stdin, DEFVAL(true));
ClassDB::bind_method(D_METHOD("execute", "path", "arguments", "output", "read_stderr", "open_console"), &OS::execute, DEFVAL(Array()), DEFVAL(false), DEFVAL(false));
ClassDB::bind_method(D_METHOD("create_process", "path", "arguments", "open_console"), &OS::create_process, DEFVAL(false));
ClassDB::bind_method(D_METHOD("create_instance", "arguments"), &OS::create_instance);