banshee r3263 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.SmartPlaylist tests



Author: scottp
Date: Mon Feb 18 16:26:43 2008
New Revision: 3263
URL: http://svn.gnome.org/viewvc/banshee?rev=3263&view=rev

Log:
* src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
  Changed LoadAll method to return IEnumerable rather than List.
  Since the method is only ever iterated over, we can do away with
  the List object.

Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs
   trunk/banshee/tests/Makefile.am

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs	Mon Feb 18 16:26:43 2008
@@ -313,27 +313,27 @@
             return String.IsNullOrEmpty (ConditionSql) ? " " : String.Format ("{0} ({1})", with, ConditionSql);
         }
 
-        public static List<SmartPlaylistSource> LoadAll ()
+        public static IEnumerable<SmartPlaylistSource> LoadAll ()
         {
-            List<SmartPlaylistSource> sources = new List<SmartPlaylistSource> ();
-
             using (IDataReader reader = ServiceManager.DbConnection.ExecuteReader (
                 "SELECT SmartPlaylistID, Name, Condition, OrderBy, LimitNumber, LimitCriterion FROM CoreSmartPlaylists")) {
                 while (reader.Read ()) {
+                    SmartPlaylistSource playlist = null;
                     try {
-                        SmartPlaylistSource playlist = new SmartPlaylistSource (
+                        playlist = new SmartPlaylistSource (
                             Convert.ToInt32 (reader[0]), reader[1] as string,
                             reader[2] as string, reader[3] as string,
                             reader[4] as string, reader[5] as string
                         );
-                        sources.Add (playlist);
                     } catch (Exception e) {
                         Log.Warning ("Ignoring Smart Playlist", String.Format ("Caught error: {0}", e), false);
                     }
+                    
+                    if (playlist != null) {
+                        yield return playlist;
+                    }
                 }
             }
-            
-            return sources;
         }
     }
 }

Modified: trunk/banshee/tests/Makefile.am
==============================================================================
--- trunk/banshee/tests/Makefile.am	(original)
+++ trunk/banshee/tests/Makefile.am	Mon Feb 18 16:26:43 2008
@@ -10,8 +10,8 @@
 	Banshee.Core/KernelTests.cs \
 	Banshee.Services/PlaylistFormatTests.cs \
 	Banshee.Services/Xspf/Xspf.cs \
-	Hyena/RangeCollectionTests.cs \
-	Hyena/CryptoUtilTests.cs
+	Hyena/CryptoUtilTests.cs \
+	Hyena/RangeCollectionTests.cs
 
 CFS=Hyena/RangeCollectionTests.cs Hyena/CryptoUtilTests.cs
 



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