using MediaBrowser.Common.Kernel; using System; namespace MediaBrowser.Controller { /// /// Class BaseManager /// /// The type of the T kernel type. public abstract class BaseManager : IDisposable where TKernelType : class, IKernel { /// /// The _kernel /// protected readonly TKernelType Kernel; /// /// Initializes a new instance of the class. /// /// The kernel. /// kernel protected BaseManager(TKernelType kernel) { if (kernel == null) { throw new ArgumentNullException("kernel"); } Kernel = kernel; } /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } /// /// Releases unmanaged and - optionally - managed resources. /// /// true to release both managed and unmanaged resources; false to release only unmanaged resources. protected virtual void Dispose(bool dispose) { } } }