progress
This commit is contained in:
parent
16e76d6b31
commit
484dbfc9d9
529 changed files with 113694 additions and 0 deletions
92
AspClassic.Scripting/Hosting/ScriptIO.cs
Normal file
92
AspClassic.Scripting/Hosting/ScriptIO.cs
Normal file
|
@ -0,0 +1,92 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Security.Permissions;
|
||||
using System.Text;
|
||||
using AspClassic.Scripting.Runtime;
|
||||
using AspClassic.Scripting.Utils;
|
||||
|
||||
namespace AspClassic.Scripting.Hosting;
|
||||
|
||||
public sealed class ScriptIO : MarshalByRefObject
|
||||
{
|
||||
private readonly SharedIO _io;
|
||||
|
||||
public Stream InputStream => _io.InputStream;
|
||||
|
||||
public Stream OutputStream => _io.OutputStream;
|
||||
|
||||
public Stream ErrorStream => _io.ErrorStream;
|
||||
|
||||
public TextReader InputReader => _io.InputReader;
|
||||
|
||||
public TextWriter OutputWriter => _io.OutputWriter;
|
||||
|
||||
public TextWriter ErrorWriter => _io.ErrorWriter;
|
||||
|
||||
public Encoding InputEncoding => _io.InputEncoding;
|
||||
|
||||
public Encoding OutputEncoding => _io.OutputEncoding;
|
||||
|
||||
public Encoding ErrorEncoding => _io.ErrorEncoding;
|
||||
|
||||
internal SharedIO SharedIO => _io;
|
||||
|
||||
internal ScriptIO(SharedIO io)
|
||||
{
|
||||
_io = io;
|
||||
}
|
||||
|
||||
public void SetOutput(Stream stream, Encoding encoding)
|
||||
{
|
||||
ContractUtils.RequiresNotNull(stream, "stream");
|
||||
ContractUtils.RequiresNotNull(encoding, "encoding");
|
||||
_io.SetOutput(stream, new StreamWriter(stream, encoding));
|
||||
}
|
||||
|
||||
public void SetOutput(Stream stream, TextWriter writer)
|
||||
{
|
||||
ContractUtils.RequiresNotNull(stream, "stream");
|
||||
ContractUtils.RequiresNotNull(writer, "writer");
|
||||
_io.SetOutput(stream, writer);
|
||||
}
|
||||
|
||||
public void SetErrorOutput(Stream stream, Encoding encoding)
|
||||
{
|
||||
ContractUtils.RequiresNotNull(stream, "stream");
|
||||
ContractUtils.RequiresNotNull(encoding, "encoding");
|
||||
_io.SetErrorOutput(stream, new StreamWriter(stream, encoding));
|
||||
}
|
||||
|
||||
public void SetErrorOutput(Stream stream, TextWriter writer)
|
||||
{
|
||||
ContractUtils.RequiresNotNull(stream, "stream");
|
||||
ContractUtils.RequiresNotNull(writer, "writer");
|
||||
_io.SetErrorOutput(stream, writer);
|
||||
}
|
||||
|
||||
public void SetInput(Stream stream, Encoding encoding)
|
||||
{
|
||||
ContractUtils.RequiresNotNull(stream, "stream");
|
||||
ContractUtils.RequiresNotNull(encoding, "encoding");
|
||||
_io.SetInput(stream, new StreamReader(stream, encoding), encoding);
|
||||
}
|
||||
|
||||
public void SetInput(Stream stream, TextReader reader, Encoding encoding)
|
||||
{
|
||||
ContractUtils.RequiresNotNull(stream, "stream");
|
||||
ContractUtils.RequiresNotNull(reader, "writer");
|
||||
ContractUtils.RequiresNotNull(encoding, "encoding");
|
||||
_io.SetInput(stream, reader, encoding);
|
||||
}
|
||||
|
||||
public void RedirectToConsole()
|
||||
{
|
||||
_io.RedirectToConsole();
|
||||
}
|
||||
|
||||
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
|
||||
public override object InitializeLifetimeService()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue