RDPAddins.NET/RDPAddins/ChannelStream.cs

33 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using RDPAddins.Common;
using System.Runtime;
namespace RDPAddins
{
internal class ChannelStream: Stream
{
public ChannelStream(IChannel channel) : base() { Channel = channel; }
IChannel Channel;
public override bool CanRead { get { return true; } }
public override bool CanSeek { get { return false; } }
public override bool CanWrite { get { return true; } }
public override void Flush() { }
public override long Length { get { throw new NotImplementedException(); } }
public override long Seek(long offset, SeekOrigin origin) { throw new NotImplementedException(); }
public override void SetLength(long value) { throw new NotImplementedException(); }
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public override int Read(byte[] buffer, int offset, int count) { return Channel.Read(buffer, offset, count); }
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public override void Write(byte[] buffer, int offset, int count) { Channel.Write(buffer, offset, count); }
public override long Position
{
get { throw new NotImplementedException(); }
set { throw new NotImplementedException(); }
}
}
}