banshee r2794 - in trunk/banshee: . src/Core/Banshee.Services src/Core/Banshee.Services/Banshee.Collection.Database src/Core/Banshee.Services/Banshee.Database src/Core/Hyena src/Core/Hyena/Hyena.Data



Author: gburt
Date: 2007-11-16 04:11:45 +0000 (Fri, 16 Nov 2007)
New Revision: 2794
ViewCVS link: http://svn.gnome.org/viewcvs/banshee?rev=2794&view=rev

Added:
   trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseModel.cs
   trunk/banshee/src/Core/Hyena/Hyena.Data/CacheableModelAdapter.cs
   trunk/banshee/src/Core/Hyena/Hyena.Data/ICacheableModel.cs
Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs
   trunk/banshee/src/Core/Banshee.Services/Makefile.am
   trunk/banshee/src/Core/Hyena/Makefile.am
Log:
2007-11-15  Gabriel Burt  <gabriel burt gmail com>

	* src/Core/Hyena/Hyena.Data/CacheableModelAdapter.cs: New abstract class
	that partially implements a Dictionary-based caching strategry for models.

	* src/Core/Hyena/Hyena.Data/ICacheableModel.cs: Interface that Models must
	implement to work with CacheableModelAdapters.

	* src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseModel.cs:
	Interface that defines basic database-related properties on Models that
	the adeapter needs to generically implement limit/offset based lookups on
	the model.

	* src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
	Implementation of CacheableModelAdapter using SQL and the Banshee.Database
	connection that combines the Dictionary cache with limit/offset queries to
	improve speed.

	* src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
	* src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
	* src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
	Use the BansheeCacheableModelAdapter instead of implementing the same
	caching/limit+offset strategy three times.

	* src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
	Chnage CoreTracksCache to just CoreCache as it is used by any Model that
	uses the BansheeCacheableModelAdapter.

	* src/Core/Banshee.Services/Makefile.am:
	* src/Core/Hyena/Makefile.am: Add new files.





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