162 lines
2.4 KiB
C#
Raw Normal View History

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<Song>, 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
}
}