summaryrefslogtreecommitdiffstats
path: root/core/os/os.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/os/os.h')
-rw-r--r--core/os/os.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/core/os/os.h b/core/os/os.h
index 4bb177eb77..ffdb905aba 100644
--- a/core/os/os.h
+++ b/core/os/os.h
@@ -94,7 +94,15 @@ public:
enum RenderThreadMode {
RENDER_THREAD_UNSAFE,
RENDER_THREAD_SAFE,
- RENDER_SEPARATE_THREAD
+ RENDER_SEPARATE_THREAD,
+ };
+
+ enum StdHandleType {
+ STD_HANDLE_INVALID,
+ STD_HANDLE_CONSOLE,
+ STD_HANDLE_FILE,
+ STD_HANDLE_PIPE,
+ STD_HANDLE_UNKNOWN,
};
protected:
@@ -146,7 +154,12 @@ public:
void print_rich(const char *p_format, ...) _PRINTF_FORMAT_ATTRIBUTE_2_3;
void printerr(const char *p_format, ...) _PRINTF_FORMAT_ATTRIBUTE_2_3;
- virtual String get_stdin_string() = 0;
+ virtual String get_stdin_string(int64_t p_buffer_size = 1024) = 0;
+ virtual PackedByteArray get_stdin_buffer(int64_t p_buffer_size = 1024) = 0;
+
+ virtual StdHandleType get_stdin_type() const { return STD_HANDLE_UNKNOWN; }
+ virtual StdHandleType get_stdout_type() const { return STD_HANDLE_UNKNOWN; }
+ virtual StdHandleType get_stderr_type() const { return STD_HANDLE_UNKNOWN; }
virtual Error get_entropy(uint8_t *r_buffer, int p_bytes) = 0; // Should return cryptographically-safe random bytes.
virtual String get_system_ca_certificates() { return ""; } // Concatenated certificates in PEM format.