aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/BindResult.cs
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2020-02-13 14:28:58 -0500
committerBob Arnson <bob@firegiant.com>2020-02-13 15:07:43 -0500
commitadd525424e44a050d3f98f64e56a85ab5d79955d (patch)
treead02f4f8afe6dfb84db1fc10627058fc1ffe61fc /src/WixToolset.Core/BindResult.cs
parent7116076d1af5af5f9da51a263a3b8b6a4a2e4ab8 (diff)
downloadwix-add525424e44a050d3f98f64e56a85ab5d79955d.tar.gz
wix-add525424e44a050d3f98f64e56a85ab5d79955d.tar.bz2
wix-add525424e44a050d3f98f64e56a85ab5d79955d.zip
Make BindResult disposable to manage WixOutput disposability.
Diffstat (limited to 'src/WixToolset.Core/BindResult.cs')
-rw-r--r--src/WixToolset.Core/BindResult.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/WixToolset.Core/BindResult.cs b/src/WixToolset.Core/BindResult.cs
index c711b540..4edade7a 100644
--- a/src/WixToolset.Core/BindResult.cs
+++ b/src/WixToolset.Core/BindResult.cs
@@ -2,16 +2,47 @@
2 2
3namespace WixToolset.Core 3namespace WixToolset.Core
4{ 4{
5 using System;
5 using System.Collections.Generic; 6 using System.Collections.Generic;
6 using WixToolset.Data; 7 using WixToolset.Data;
7 using WixToolset.Extensibility.Data; 8 using WixToolset.Extensibility.Data;
8 9
9 internal class BindResult : IBindResult 10 internal class BindResult : IBindResult
10 { 11 {
12 private bool disposed;
13
11 public IEnumerable<IFileTransfer> FileTransfers { get; set; } 14 public IEnumerable<IFileTransfer> FileTransfers { get; set; }
12 15
13 public IEnumerable<ITrackedFile> TrackedFiles { get; set; } 16 public IEnumerable<ITrackedFile> TrackedFiles { get; set; }
14 17
15 public WixOutput Wixout { get; set; } 18 public WixOutput Wixout { get; set; }
19
20 #region IDisposable Support
21 /// <summary>
22 /// Disposes of the internal state of the file structure.
23 /// </summary>
24 public void Dispose()
25 {
26 this.Dispose(true);
27 GC.SuppressFinalize(this);
28 }
29
30 /// <summary>
31 /// Disposes of the internsl state of the file structure.
32 /// </summary>
33 /// <param name="disposing">True if disposing.</param>
34 protected virtual void Dispose(bool disposing)
35 {
36 if (!this.disposed)
37 {
38 if (disposing)
39 {
40 this.Wixout?.Dispose();
41 }
42 }
43
44 this.disposed = true;
45 }
46 #endregion
16 } 47 }
17} 48}