using System; using ANX.Framework.NonXNA.Development; // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license namespace ANX.Framework.Media { [PercentageComplete(100)] [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Untested)] public sealed class Playlist : IEquatable, IDisposable { internal string Id { get; private set; } public bool IsDisposed { get; private set; } public string Name { get; internal set; } public SongCollection Songs { get; internal set; } public TimeSpan Duration { get; internal set; } internal Playlist(string setId) { Id = setId; IsDisposed = false; } public bool Equals(Playlist other) { return Id == other.Id; } public override bool Equals(object obj) { return obj is Playlist ? Equals(obj as Playlist) : base.Equals(obj); } public void Dispose() { IsDisposed = true; } public override string ToString() { return Name; } public override int GetHashCode() { return Name.GetHashCode(); } public static bool operator ==(Playlist first, Playlist second) { return first.Equals(second); } public static bool operator !=(Playlist first, Playlist second) { return first.Equals(second) == false; } } }