summaryrefslogtreecommitdiff
path: root/source/core/slang-stream.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-11-30 16:50:05 -0500
committerGitHub <noreply@github.com>2021-11-30 16:50:05 -0500
commitce12e1d64d6b0b62609f061d3773a7e8b35849c3 (patch)
tree72da79208edff4fdebfc32db759ecca21716c260 /source/core/slang-stream.h
parentace4e334bc5fb299d2890b5e3f35dfd84ea32606 (diff)
Auto flush for streams for stdin/out in slang-test (#2035)
* #include an absolute path didn't work - because paths were taken to always be relative. * Move StreamType from Process to StdStreamType in slang-stream.h * Disable buffering for stdout/stderr for slang-test. * Improve comment.
Diffstat (limited to 'source/core/slang-stream.h')
-rw-r--r--source/core/slang-stream.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/core/slang-stream.h b/source/core/slang-stream.h
index a163a0c5d..388b178c9 100644
--- a/source/core/slang-stream.h
+++ b/source/core/slang-stream.h
@@ -6,6 +6,14 @@
namespace Slang
{
+enum class StdStreamType
+{
+ ErrorOut,
+ Out,
+ In,
+ CountOf,
+};
+
enum class SeekOrigin
{
Start, ///< Seek from the start of the stream
@@ -236,6 +244,13 @@ protected:
RefPtr<Stream> m_stream; ///< Stream that is being read from
};
+enum class StreamBufferStyle
+{
+ None,
+ Line,
+ Full,
+};
+
struct StreamUtil
{
/// Appends all bytes that can be read from stream into bytes
@@ -251,6 +266,8 @@ struct StreamUtil
static SlangResult readOrDiscard(Stream* stream, size_t readSize, List<Byte>* ioBytes);
static SlangResult readOrDiscardAll(Stream* stream, size_t readSize, List<Byte>* ioBytes);
+
+ static SlangResult setStreamBufferStyle(StdStreamType stdStream, StreamBufferStyle style);
};