banshee r4237 - in trunk/musicbrainz-sharp: . src/MusicBrainz src/MusicBrainz/MusicBrainz



Author: scottp
Date: Mon Jul 21 07:50:50 2008
New Revision: 4237
URL: http://svn.gnome.org/viewvc/banshee?rev=4237&view=rev

Log:
* src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs: Simplified relation
  creation slightly and added equivilance operator overload.
* src/MusicBrainz/MusicBrainz/LinuxDisc.cs,
  src/MusicBrainz/MusicBrainz/DiscLinux.cs: Renamed back to DiscLinux
* src/MusicBrainz/MusicBrainz/Query.cs: Renamed some public parameters
  to follow FDG style and changed some public methods to return IList
  instead of List.
* src/MusicBrainz/MusicBrainz/Win32Disc.cs,
  src/MusicBrainz/MusicBrainz/DiscWin32.cs: Renamed back to DiscWin32
* src/MusicBrainz/MusicBrainz/Artist.cs: Added equivilance operator
  overload to ArtistReleaseType type.

Added:
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscLinux.cs
      - copied unchanged from r4235, /trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/LinuxDisc.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/DiscWin32.cs
      - copied unchanged from r4235, /trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Win32Disc.cs
Removed:
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/LinuxDisc.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Win32Disc.cs
Modified:
   trunk/musicbrainz-sharp/ChangeLog
   trunk/musicbrainz-sharp/MusicBrainz.mds
   trunk/musicbrainz-sharp/src/MusicBrainz/ChangeLog
   trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs

Modified: trunk/musicbrainz-sharp/MusicBrainz.mds
==============================================================================
--- trunk/musicbrainz-sharp/MusicBrainz.mds	(original)
+++ trunk/musicbrainz-sharp/MusicBrainz.mds	Mon Jul 21 07:50:50 2008
@@ -16,7 +16,6 @@
   </Configurations>
   <StartMode startupentry="MusicBrainz" single="True">
     <Execute type="None" entry="MusicBrainz" />
-    <Execute type="None" entry="MusicBrainz" />
     <Execute type="None" entry="MusicBrainz.Tests" />
   </StartMode>
   <Entries>

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/Makefile.am	Mon Jul 21 07:50:50 2008
@@ -5,9 +5,10 @@
 SOURCES =  \
 	MusicBrainz/Artist.cs \
 	MusicBrainz/Disc.cs \
+	MusicBrainz/DiscLinux.cs \
+	MusicBrainz/DiscWin32.cs \
 	MusicBrainz/Event.cs \
 	MusicBrainz/Label.cs \
-	MusicBrainz/LinuxDisc.cs \
 	MusicBrainz/LocalDisc.cs \
 	MusicBrainz/MusicBrainzEntity.cs \
 	MusicBrainz/MusicBrainzException.cs \
@@ -19,7 +20,6 @@
 	MusicBrainz/Release.cs \
 	MusicBrainz/Track.cs \
 	MusicBrainz/Utils.cs \
-	MusicBrainz/Win32Disc.cs \
 	MusicBrainz/XmlRequestEventArgs.cs
 
 instdir = $(prefix)/lib/musicbrainz-sharp

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz.mdp	Mon Jul 21 07:50:50 2008
@@ -1,4 +1,4 @@
-<Project name="MusicBrainz" fileversion="2.0" DefaultNamespace="MusicBrainz" language="C#" clr-version="Net_2_0" ctype="DotNetProject">
+<Project name="MusicBrainz" fileversion="2.0" language="C#" DefaultNamespace="MusicBrainz" clr-version="Net_2_0" ctype="DotNetProject">
   <Configurations active="Debug">
     <Configuration name="Debug" ctype="DotNetProjectConfiguration">
       <Output directory="." assemblyKeyFile="." assembly="MusicBrainz" />
@@ -16,7 +16,7 @@
   <Contents>
     <File name="MusicBrainz/Artist.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/Disc.cs" subtype="Code" buildaction="Compile" />
-    <File name="MusicBrainz/Win32Disc.cs" subtype="Code" buildaction="Compile" />
+    <File name="MusicBrainz/DiscWin32.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/Event.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/Label.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/MusicBrainzEntity.cs" subtype="Code" buildaction="Compile" />
@@ -28,7 +28,7 @@
     <File name="MusicBrainz/Release.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/Track.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/Utils.cs" subtype="Code" buildaction="Compile" />
-    <File name="MusicBrainz/LinuxDisc.cs" subtype="Code" buildaction="Compile" />
+    <File name="MusicBrainz/DiscLinux.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/XmlRequestEventArgs.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/LocalDisc.cs" subtype="Code" buildaction="Compile" />
     <File name="MusicBrainz/MusicBrainzService.cs" subtype="Code" buildaction="Compile" />

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs	Mon Jul 21 07:50:50 2008
@@ -131,7 +131,7 @@
         public ArtistReleaseType ArtistReleaseType {
             get { return artist_release_type; }
             set {
-                if (artist_release_type.Equals (value)) {
+                if (artist_release_type == value) {
                     return;
                 }
                 artist_release_type = value;
@@ -251,8 +251,18 @@
 
         public override bool Equals (object o)
         {
-            ArtistReleaseType art = o as ArtistReleaseType;
-            return art != null && art.str == str;
+            return this == o as ArtistReleaseType;
+        }
+        
+        public static bool operator ==(ArtistReleaseType artistReleaseType1, ArtistReleaseType artistReleaseType2)
+        {
+            return (artistReleaseType1 == null && artistReleaseType2 == null) ||
+                (artistReleaseType1 != null && artistReleaseType2 != null && artistReleaseType1.str == artistReleaseType2.str);
+        }
+        
+        public static bool operator !=(ArtistReleaseType artistReleaseType1, ArtistReleaseType artistReleaseType2)
+        {
+            return !(artistReleaseType1 == artistReleaseType2);
         }
         
         public override int GetHashCode ()

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs	Mon Jul 21 07:50:50 2008
@@ -103,24 +103,16 @@
                     all_rels_loaded = true;
                     switch (reader ["target-type"]) {
                     case "Artist":
-                        List<Relation<Artist>> artist_rels = new List<Relation<Artist>> ();
-                        CreateRelation (reader.ReadSubtree (), artist_rels);
-                        this.artist_rels = artist_rels.AsReadOnly ();
+                        artist_rels = CreateRelation<Artist> (reader.ReadSubtree ());
                         break;
                     case "Release":
-                        List<Relation<Release>> release_rels = new List<Relation<Release>> ();
-                        CreateRelation (reader.ReadSubtree (), release_rels);
-                        this.release_rels = release_rels.AsReadOnly ();
+                        release_rels = CreateRelation<Release> (reader.ReadSubtree ());
                         break;
                     case "Track":
-                        List<Relation<Track>> track_rels = new List<Relation<Track>> ();
-                        CreateRelation (reader.ReadSubtree (), track_rels);
-                        this.track_rels = track_rels.AsReadOnly ();
+                        track_rels = CreateRelation<Track> (reader.ReadSubtree ());
                         break;
                     case "Label":
-                        List<Relation<Label>> label_rels = new List<Relation<Label>> ();
-                        CreateRelation (reader.ReadSubtree (), label_rels);
-                        this.label_rels = label_rels.AsReadOnly ();
+                        label_rels = CreateRelation<Label> (reader.ReadSubtree ());
                         break;
                     case "Url":
                         if (!reader.ReadToDescendant ("relation")) break;
@@ -282,8 +274,17 @@
         
         public override bool Equals (object obj)
         {
-            MusicBrainzObject mbobj = obj as MusicBrainzObject;
-            return mbobj != null && mbobj.GetType ().Equals (GetType ()) && mbobj.Id == Id;
+            return this == obj as MusicBrainzObject;
+        }
+        
+        public static bool operator ==(MusicBrainzObject obj1, MusicBrainzObject obj2)
+        {
+            return (obj1 == null && obj2 == null) || (obj1 != null && obj2 != null && obj1.GetType ().Equals (obj2.GetType ()) && obj1.Id == obj2.Id);
+        }
+        
+        public static bool operator !=(MusicBrainzObject obj1, MusicBrainzObject obj2)
+        {
+            return !(obj1 == obj2);
         }
 
         public override int GetHashCode ()
@@ -295,8 +296,9 @@
 
         #region Static
 
-        static void CreateRelation<T> (XmlReader reader, List<Relation<T>> relations) where T : MusicBrainzObject
+        static ReadOnlyCollection<Relation<T>> CreateRelation<T> (XmlReader reader) where T : MusicBrainzObject
         {
+            List<Relation<T>> relations = new List<Relation<T>> ();
             while (reader.ReadToFollowing ("relation")) {
                 string type = reader ["type"];
                 RelationDirection direction = RelationDirection.Forward;
@@ -319,6 +321,7 @@
                     attributes));
             }
             reader.Close ();
+            return relations.AsReadOnly ();
         }
 
         static string CreateUrl (string url_extension, int limit, int offset, string parameters)

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs	Mon Jul 21 07:50:50 2008
@@ -125,23 +125,23 @@
             return Best (100);
         }
         
-        public IEnumerable<T> Best (int score_threshold)
+        public IEnumerable<T> Best (int scoreThreshold)
         {
             foreach (T result in this) {
-                if (result.Score < score_threshold) yield break;
+                if (result.Score < scoreThreshold) yield break;
                 yield return result;
             }
         }
         
-        public List<T> ToList ()
+        public IList<T> ToList ()
         {
             return ToList (0);
         }
         
-        public List<T> ToList (int score_threshold)
+        public IList<T> ToList (int scoreThreshold)
         {
-            List<T> list = new List<T> (score_threshold == 0 ? Count : 0);
-            foreach (T result in Best(score_threshold)) list.Add (result);
+            List<T> list = new List<T> (scoreThreshold == 0 ? Count : 0);
+            foreach (T result in Best(scoreThreshold)) list.Add (result);
             return list;
         }
         



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]