banshee r3186 - in trunk/banshee/src/Extensions/Banshee.DapCore: . Banshee.DapCore



Author: alanmc
Date: Sat Feb  9 19:07:08 2008
New Revision: 3186
URL: http://svn.gnome.org/viewvc/banshee?rev=3186&view=rev

Log:
* Banshee.DapCore/IDeviceClass.cs: Initial ideas for the interface

Added:
   trunk/banshee/src/Extensions/Banshee.DapCore/ChangeLog
Modified:
   trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore.mdp
   trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore/IDeviceClass.cs

Modified: trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore.mdp
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore.mdp	(original)
+++ trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore.mdp	Sat Feb  9 19:07:08 2008
@@ -31,4 +31,5 @@
     <AsmRefVar />
     <ProjectRefVar />
   </MonoDevelop.Autotools.MakefileInfo>
+  <MonoDevelop.ChangeLogAddIn.ChangeLogInfo policy="OneChangeLogInProjectRootDirectory" />
 </Project>
\ No newline at end of file

Modified: trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore/IDeviceClass.cs
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore/IDeviceClass.cs	(original)
+++ trunk/banshee/src/Extensions/Banshee.DapCore/Banshee.DapCore/IDeviceClass.cs	Sat Feb  9 19:07:08 2008
@@ -26,9 +26,33 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System;
+
 namespace Banshee.Dap
 {
-    public interface IDeviceClass {
-        // Add device specific methods here!
-    }
+    public interface IDeviceClass : IDisposable {
+		
+		event EventHandler Ejected;
+		event EventHandler Initialized; // EventArgs should contain the InitializeResult
+		event EventHandler MetadataUpdated;
+		event EventHandler TrackAdded;
+		event EventHandler TracksLoaded;
+		event EventHandler TrackRemoved;
+		
+		void AddTrack (object track);         // Should be TrackInfo, not 'object'
+		void Eject ();
+		void Initialize (object halDevice);   // Should be a Hal.Device, not 'object'
+		void LoadTracks ();
+		void RemoveTrack (object track);      // Should be TrackInfo, not 'object'
+		void UpdateMetadata (object track);   // Should be TrackInfo, not 'object'
+		
+		//bool CanSetName { get; }
+		//bool CanSetOwner { get; }
+		string Name { get; set; }
+		string Owner { get; set; }
+		ulong Capacity { get; }
+		ulong FreeSpace { get; }
+		bool IsReadOnly { get; }
+		bool IsPlaybackSupported { get; }
+	}
 }



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