using System; // 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 { public sealed class Song : IEquatable, IDisposable { public bool IsDisposed { get; private set; } public string Name { get; private set; } public bool IsRated { get { return Rating > 0; } } public Artist Artist { get { throw new NotImplementedException(); } } public Album Album { get { throw new NotImplementedException(); } } public Genre Genre { get { throw new NotImplementedException(); } } public TimeSpan Duration { get { throw new NotImplementedException(); } } public int Rating { get { throw new NotImplementedException(); } } public int PlayCount { get { throw new NotImplementedException(); } } public int TrackNumber { get { throw new NotImplementedException(); } } public bool IsProtected { get { throw new NotImplementedException(); } } #region Constructor internal Song(string setName) { Name = setName; IsDisposed = false; } ~Song() { Dispose(); } #endregion public Song FromUri(string name, Uri uri) { throw new NotImplementedException(); } public bool Equals(Song other) { throw new NotImplementedException(); } public override bool Equals(object obj) { if (obj is Song) return Equals(obj as Song); return base.Equals(obj); } public void Dispose() { if (IsDisposed == false) { IsDisposed = true; throw new NotImplementedException(); } } #region ToString public override string ToString() { return Name; } #endregion #region GetHashCode public override int GetHashCode() { return Name.GetHashCode(); } #endregion #region Operator overloading public static bool operator ==(Song first, Song second) { return first.Equals(second); } public static bool operator !=(Song first, Song second) { return first.Equals(second) == false; } #endregion } }