Replace Close with Dispose for PORTABLE
5 files changed, 73 insertions, 6 deletions
diff --git a/crypto/src/util/io/BaseInputStream.cs b/crypto/src/util/io/BaseInputStream.cs
index 3ff4a1957..36725acd2 100644
--- a/crypto/src/util/io/BaseInputStream.cs
+++ b/crypto/src/util/io/BaseInputStream.cs
@@ -11,8 +11,24 @@ namespace Org.BouncyCastle.Utilities.IO
public sealed override bool CanRead { get { return !closed; } }
public sealed override bool CanSeek { get { return false; } }
public sealed override bool CanWrite { get { return false; } }
- public override void Close() { closed = true; }
- public sealed override void Flush() {}
+
+#if PORTABLE
+ protected override void Disposing(bool disposing)
+ {
+ if (disposing)
+ {
+ closed = true;
+ }
+ base.Dispose(disposing);
+ }
+#else
+ public override void Close()
+ {
+ closed = true;
+ }
+#endif
+
+ public sealed override void Flush() {}
public sealed override long Length { get { throw new NotSupportedException(); } }
public sealed override long Position
{
diff --git a/crypto/src/util/io/BaseOutputStream.cs b/crypto/src/util/io/BaseOutputStream.cs
index 6e6c6d346..d85ae8ae4 100644
--- a/crypto/src/util/io/BaseOutputStream.cs
+++ b/crypto/src/util/io/BaseOutputStream.cs
@@ -11,8 +11,24 @@ namespace Org.BouncyCastle.Utilities.IO
public sealed override bool CanRead { get { return false; } }
public sealed override bool CanSeek { get { return false; } }
public sealed override bool CanWrite { get { return !closed; } }
- public override void Close() { closed = true; }
- public override void Flush() {}
+
+#if PORTABLE
+ protected override void Disposing(bool disposing)
+ {
+ if (disposing)
+ {
+ closed = true;
+ }
+ base.Dispose(disposing);
+ }
+#else
+ public override void Close()
+ {
+ closed = true;
+ }
+#endif
+
+ public override void Flush() { }
public sealed override long Length { get { throw new NotSupportedException(); } }
public sealed override long Position
{
diff --git a/crypto/src/util/io/FilterStream.cs b/crypto/src/util/io/FilterStream.cs
index c5d6a1cba..be216254a 100644
--- a/crypto/src/util/io/FilterStream.cs
+++ b/crypto/src/util/io/FilterStream.cs
@@ -29,10 +29,21 @@ namespace Org.BouncyCastle.Utilities.IO
get { return s.Position; }
set { s.Position = value; }
}
+#if PORTABLE
+ protected override void Disposing(bool disposing)
+ {
+ if (disposing)
+ {
+ Platform.Dispose(s);
+ }
+ base.Dispose(disposing);
+ }
+#else
public override void Close()
{
Platform.Dispose(s);
}
+#endif
public override void Flush()
{
s.Flush();
diff --git a/crypto/src/util/io/TeeInputStream.cs b/crypto/src/util/io/TeeInputStream.cs
index b344be8a8..4b3203d71 100644
--- a/crypto/src/util/io/TeeInputStream.cs
+++ b/crypto/src/util/io/TeeInputStream.cs
@@ -18,11 +18,23 @@ namespace Org.BouncyCastle.Utilities.IO
this.tee = tee;
}
- public override void Close()
+#if PORTABLE
+ protected override void Disposing(bool disposing)
+ {
+ if (disposing)
+ {
+ Platform.Dispose(input);
+ Platform.Dispose(tee);
+ }
+ base.Dispose(disposing);
+ }
+#else
+ public override void Close()
{
Platform.Dispose(input);
Platform.Dispose(tee);
}
+#endif
public override int Read(byte[] buf, int off, int len)
{
diff --git a/crypto/src/util/io/TeeOutputStream.cs b/crypto/src/util/io/TeeOutputStream.cs
index 75d1d305d..7ad14a007 100644
--- a/crypto/src/util/io/TeeOutputStream.cs
+++ b/crypto/src/util/io/TeeOutputStream.cs
@@ -18,11 +18,23 @@ namespace Org.BouncyCastle.Utilities.IO
this.tee = tee;
}
- public override void Close()
+#if PORTABLE
+ protected override void Disposing(bool disposing)
+ {
+ if (disposing)
+ {
+ Platform.Dispose(output);
+ Platform.Dispose(tee);
+ }
+ base.Dispose(disposing);
+ }
+#else
+ public override void Close()
{
Platform.Dispose(output);
Platform.Dispose(tee);
}
+#endif
public override void Write(byte[] buffer, int offset, int count)
{
|